2025年PostgreSQL 详细安装教程(windows)

2025年PostgreSQL 详细安装教程(windows)

前言

PostgreSQL 是一个功能强大的开源关系型数据库管理系统(ORDBMS),以下是对它的全面介绍:

基本概况

  • 名称:通常简称为 "Postgres"
  • 类型:对象-关系型数据库管理系统
  • 许可:开源,采用类MIT许可证
  • 首次发布:1996年(起源于1986年的POSTGRES项目)
  • 最新版本:PostgreSQL 16(截至2023年9月发布)

核心特性

  1. 标准兼容性
    • 完全符合ACID(原子性、一致性、隔离性、持久性)
    • 高度兼容SQL标准
  2. 高级功能
    • 复杂查询
    • 外键
    • 触发器
    • 可更新视图
    • 事务完整性
    • 多版本并发控制(MVCC)
  3. 扩展性
    • 支持自定义数据类型
    • 自定义函数
    • 使用不同编程语言编写代码(如PL/pgSQL, PL/Python, PL/Perl等)
  4. 数据完整性
    • 主键
    • 外键
    • 排他约束
    • 显式锁定
    • 咨询锁定

技术优势

  • 可扩展架构:允许添加新功能而不影响核心系统
  • 丰富的数据类型:包括原生JSON/JSONB支持、几何图形、网络地址等
  • 强大的索引支持:B-tree、哈希、GiST、SP-GiST、GIN和BRIN索引
  • 全功能SQL实现:包括复杂子查询、窗口函数、公共表表达式(CTE)
  • 并发控制:多版本并发控制(MVCC)实现高效读写并发

应用场景

PostgreSQL适用于各种应用场景,包括:

  • Web应用程序
  • 地理信息系统(GIS)
  • 科学数据分析
  • 金融系统
  • 物联网(IoT)应用
  • 内容管理系统

生态系统

PostgreSQL拥有丰富的扩展生态系统,包括:

  • PostGIS(地理空间数据库扩展)
  • pgAdmin(图形化管理工具)
  • 多种连接池解决方案
  • 多种复制和集群解决方案

PostgreSQL以其稳定性、功能丰富性和标准合规性,成为企业级应用和关键任务系统的理想选择。

一、PostgreSQL 安装

1、下载官网:EDB:开源企业 Postgres 数据库管理

2、根据不同的操作系统选择对应的安装包进行下载,以下是各个版本的情况说明:

PostgreSQL 版本情况对比:

版本发布时间支持状态主要特性亮点停止支持时间
172024-09活跃支持VACUUM优化(tid store)、WAL写入2倍提升、逻辑复制故障转移、JSON_TABLE()~2029
162023-09安全维护并行逻辑复制、pg_stat_io监控、ICU排序增强~2028
152022-10安全维护MERGE命令、Zstd压缩、逻辑复制权限细化~2027
142021-09安全维护长事务性能优化、JSONB下标访问、扩展管理改进~2026
132020-09EOL(已终止)索引优化(B树去重)、并行VACUUM、增量排序

⚠ EOL(已终止):表示版本不再接收安全更新,建议尽快升级。

3、这里我选择的是 15.13版本的windows x86-64安装包

4、双击安装

5、点击  Next       

6、选择数据库安装目录

7、四个默认全选,点击下一步。

8、数据库存储路径(默认就好),点击下一步。

9、对数据库进行用户密码设置,完成后点击 Next。

10、PostgreSQL的默认端口号:5432,直接点击下一步 Next。

11、选择语言,选择简体中文,点击Next。(推荐默认语言最好)

12、这里将预览文件路径及数据库信息,直接点击下一步。

13、点击下一步,开始安装。

14、取消勾选Stack Builder,然后点击Finish关闭窗口。

 二、配置环境变量 

验证: psql --version

 三、下载PostgreSQL 数据库管理工具

1、pgAdmin官网下载:下载

 2、我选择下载了9.4版本,需要下载什么版本请按照对照表选择自己适合的。

 

3、pgAdmin 4 各版本与 PostgreSQL 兼容性对照表

版本发布日期兼容的 PostgreSQL 版本核心改进与特性支持状态
v9.52025年6月30日PostgreSQL 14~18支持 PG18 新特性,优化查询计划可视化活跃支持
v9.42025年5月29日PostgreSQL 13~17修复 JSON 编辑器性能问题安全维护
v9.32025年4月30日PostgreSQL 12~17新增 OAuth2 认证支持安全维护
v8.142024年12月12日PostgreSQL 11~16增强 Schema Diff 工具安全维护
v7.82023年10月19日PostgreSQL 10~15修复高并发连接崩溃问题已停止维护
v6.212023年3月9日PostgreSQL 9.6~14最后支持 Python 2 的版本已停

4、下载完成之后进行双击

5、点击install for me only,看个人需求,也可以给所有用户安装。

 6、点击Next。

7、接受许可,点击Next。

8、选择安装路径

 9、点击Next。

10、点击install

11、点击完成

四、使用pgAdmin4

1、应用搜索pgAdmin4。

2、稍等1~2分钟

3、设置中文界面

完成

4、连接到 PostgreSQL 数据库服务器,双击Servers 输入安装数据库时的密码进行连接。

 

5、连接成功。

五、PostgreSQL 常用命令速查表

类别命令说明
数据库连接psql -U username -d dbname -h host -p port连接到指定数据库(示例:psql -U postgres -d mydb -h localhost -p 5432
\c dbname切换数据库(在psql中)
信息查询\l列出所有数据库
\dt列出当前数据库的所有表
\d+ tablename查看表结构(含索引、约束等详细信息)
\du列出所有用户/角色
数据库操作CREATE DATABASE dbname;创建数据库
DROP DATABASE dbname;删除数据库
表操作CREATE TABLE tablename (id SERIAL PRIMARY KEY, name VARCHAR(50));创建表(示例)
ALTER TABLE tablename ADD COLUMN columnname datatype;添加列
DROP TABLE tablename;删除表
数据操作INSERT INTO tablename (col1, col2) VALUES (val1, val2);插入数据
UPDATE tablename SET col1=val1 WHERE condition;更新数据
DELETE FROM tablename WHERE condition;删除数据
SELECT * FROM tablename WHERE condition;查询数据(支持复杂JOIN、GROUP BY等)
索引管理CREATE INDEX idx_name ON tablename (column);创建索引
DROP INDEX idx_name;删除索引
用户权限CREATE USER username WITH PASSWORD 'password';创建用户
GRANT ALL PRIVILEGES ON DATABASE dbname TO username;授予数据库权限
REVOKE privilege ON tablename FROM username;撤销权限
备份恢复pg_dump -U username -d dbname -f backup.sql备份数据库到文件
psql -U username -d dbname -f backup.sql从文件恢复数据库
事务控制BEGIN;开始事务
COMMIT;提交事务
ROLLBACK;回滚事务
性能分析EXPLAIN ANALYZE SELECT * FROM tablename;分析查询执行计划
VACUUM (VERBOSE, ANALYZE) tablename;清理和优化表空间

Read more

第十六届蓝桥杯省赛(软件类真题)C/C++ 大学A组

第十六届蓝桥杯省赛(软件类真题)C/C++ 大学A组

大纲: A.寻找质数 B:黑白棋 题目&解析&代码 A题 题目解析 本题的目标是枚举质数并计数,直到数到第2025个。由于2025不算太大,第2025个质数大约在17000~18000之间,完全可以在合理时间内通过简单枚举得到。 解题步骤: 从2开始遍历每个整数,判断它是否是质数。 质数判断采用试除法:对于一个数n,只需检查从2到√n的所有整数是否能整除n。若存在能整除的数,则n不是质数;否则是质数。 每找到一个质数,计数器加1。 当计数器达到2025时,输出当前的质数并结束。 优化点: 除了2以外,偶数不可能是质数,因此可以跳过偶数判断(直接步进2)。 在isPrime函数中,可以先处理特殊情况(n<2返回false),然后单独判断偶数,再对奇数进行试除,步进也可以设为2。 C++ 参考代码 以下代码实现了上述算法,并输出第2025个质数。 cpp

By Ne0inhk
初学二叉搜索树踩坑多?C++ 从原理到代码,搞定增删查全流程

初学二叉搜索树踩坑多?C++ 从原理到代码,搞定增删查全流程

🎬 个人主页:Vect个人主页 🎬 GitHub:Vect的代码仓库 🔥 个人专栏: 《数据结构与算法》《C++学习之旅》《计算机基础》 ⛺️Per aspera ad astra. 文章目录 * 1. 二叉搜索树相关概念 * 2. 二叉搜索树的操作 * 2.1. 查找节点 * 2.2. 插入节点 * 2.3. 删除节点 * 3. 二叉搜索树的实现 * 4. 二叉搜索树的应用 * 4.1. K模型 * 4.2. KV模型 1. 二叉搜索树相关概念 如下图所示,二叉搜索树(binary search tree)满足下列条件: 1. 对于根节点,左子树中所有节点的值<根节点的值&

By Ne0inhk

第25章-C++初级实战案例(20个)

案例1:温度转换器 案例描述 实现摄氏度与华氏度之间的相互转换。 知识点 * 基本输入输出 * 数学运算 * 函数封装 完整代码 #include<iostream>#include<iomanip>usingnamespace std;// 摄氏度转华氏度doublecelsiusToFahrenheit(double celsius){return celsius *9.0/5.0+32.0;}// 华氏度转摄氏度doublefahrenheitToCelsius(double fahrenheit){return(fahrenheit -32.0)*5.0/9.0;}intmain(){int choice;double temp, result; cout <<

By Ne0inhk