【PostgreSQL安装】保姆级安装教程+特性详解
目录
方法 1:安装完整的 PostgreSQL 服务器(推荐)
一、进入官网
二、安装
2.1 选择安装位置
2.2 选择组件(可默认全勾选)
2.3 设置密码
2.4 安装完成
三、初始化PostgreSQL
四、安装过程中可能遇到的问题
方法 2:仅安装 PostgreSQL 客户端库(无需安装服务器)
步骤
PostgreSQL 的核心特点
1. 标准 + 扩展能力极强
2. 强大复杂查询能力
3. 原生支持 JSON / JSONB(半结构化数据)
4. 扩展机制灵活
5. 支持多种数据类型(对象关系特性)
6. 事务一致性好(ACID + MVCC)
7. 多语种存储过程与函数支持
8. 开源、社区活跃,支持长远
PostgreSQL 适合的场景
总结一句话
方法 1:安装完整的 PostgreSQL 服务器(推荐)
这是最简单的方法,安装 PostgreSQL 时会自动包含 libpq
库和开发文件。
一、进入官网
PostgreSQL: Downloads访问 PostgreSQL 官方下载页面: PostgreSQL: Downloads
选择适合你系统的版本(如 **PostgreSQL 15.x**)
二、安装
2.1 选择安装位置
2.2 选择组件(可默认全勾选)
2.3 设置密码
为默认的 `postgres` 用户设置密码。(123456)
以下全部【next】即可
系统语言/地区,建议选择默认。
如果选了中文,可能后面会出错,我第一次就是选了中文,然后报错了,于是卸载了重新安装的。
2.4 安装完成
安装完成后,
libpq
库会自动包含在以下目录中:# libpq 动态链接库(DLL)
D:\computer_soft\PostgreSQL\bin\libpq.dll# 头文件(C 头文件)
D:\computer_soft\PostgreSQL\bin\include
然后咱们就安装好了,可以把这个选项勾掉。
三、初始化PostgreSQL
第一次打开会提示设置密码。这个密码是pgAdmin的密码,以后连接服务器的密码需要保存,则会使用pgAdmin的密码对其加密和解密。
这里输入的密码,并不是安装过程中设置的PostgreSQL超级用户postgres的密码。
然后打开之后我们就可以看到数据库的界面了。
四、安装过程中可能遇到的问题
可能有些朋友下载后找不到对应的Server服务,这是下载过程中出现了差错,我第一次也遇到了。
建议就是直接删掉,然后重新下载,不然是用不了的。
然后就是编码报错的问题了。
出现这个错误的原因可能是你电脑的登陆用户用的是中文需要改成英文,右击我的电脑,点击管理找到计算机管理。
点击本地用户与组找到当前登陆账号,右击重命名为英文即可。
方法 2:仅安装 PostgreSQL 客户端库(无需安装服务器)
如果不需要完整的 PostgreSQL 服务,可以直接下载独立的客户端库。
步骤
-
下载 PostgreSQL 客户端库 访问 EDB(EnterpriseDB)的独立客户端工具下载页面: EDB: Open-Source, Enterprise Postgres Database Management 下载名为
postgresql-15.x-x-windows-x64-binaries.zip
的压缩包。 -
解压文件 将压缩包解压到目标目录(如
C:\pgsql
)。 -
配置环境变量 将
libpq.dll
所在的路径添加到系统环境变量PATH
:# 假设解压到 D:\pgsql D:\pgsql\bin
PostgreSQL 的核心特点
1. 标准 + 扩展能力极强
-
100% 支持 SQL 标准(SQL:2023)
-
可以像传统数据库一样使用,也可以扩展为 NoSQL、文档、图数据库等用法。
PostgreSQL(常简称为 Postgres)是一款功能强大、开源免费的对象-关系型数据库管理系统(ORDBMS)
2. 强大复杂查询能力
-
原生支持:
-
子查询
-
窗口函数(
OVER()
等) -
公用表表达式(CTE)
-
并行查询
-
-
查询优化器非常智能,适合大数据分析、复杂业务系统。
3. 原生支持 JSON / JSONB(半结构化数据)
-
可直接当文档数据库用,甚至可做 MongoDB 的替代品。
-
JSONB 支持索引、全文搜索,非常强大。
4. 扩展机制灵活
-
可动态加载插件,例如:
-
PostGIS
: 地理信息(GIS)扩展 -
pg_trgm
: 模糊搜索、字符串相似度匹配 -
timescaledb
: 时间序列数据库扩展 -
uuid-ossp
: 自动生成 UUID
-
-
你甚至可以创建自己的数据类型、函数、操作符、索引方式!
5. 支持多种数据类型(对象关系特性)
-
支持数组、枚举、复合类型、范围类型(range)、网络地址、几何类型等;
-
比如可以定义一个字段是
[1,2,3]
数组类型,查询时像操作表一样。
6. 事务一致性好(ACID + MVCC)
-
支持真正的并发控制(多版本并发控制 MVCC)
-
无锁读写(不像 MySQL 的 InnoDB 需要行锁)
7. 多语种存储过程与函数支持
-
支持 SQL、PL/pgSQL、Python(plpython)、JavaScript(plv8)、C、R 等多种语言编写函数。
8. 开源、社区活跃,支持长远
-
大量文档、教程、社区资源;
-
版本稳定,支持每个版本长期更新维护;
-
被 Google、Apple、Reddit、GitLab 等大公司广泛使用。
PostgreSQL 适合的场景
场景 | 是否适合 | 说明 |
---|---|---|
复杂业务系统 | ✅ 非常适合 | 支持复杂事务、数据结构 |
数据仓库 / BI | ✅ 很强 | 并行查询优化器 + 分区 |
JSON 文档存储 | ✅ 比 MongoDB 更稳健 | JSONB 支持索引、事务 |
地理数据处理 | ✅ 有 PostGIS 扩展 | 非常专业 |
时间序列数据 | ✅ 用 TimescaleDB 扩展 | 高效 |
高频写入、轻事务系统 | ⛔ MySQL 更适合 | PostgreSQL 更注重一致性和复杂性 |
总结一句话
PostgreSQL 是一款高度可靠、功能丰富、扩展灵活的数据库,既能做传统 RDBMS,也能胜任 NoSQL 和数据分析任务。