方式一:官方 EDB 安装包(推荐新手)
从 postgresql.org/download/windows 下载 EDB 安装器,双击 .exe 按向导操作:
- 选择组件:PostgreSQL Server + pgAdmin + Command Line Tools(全选即可)
- 安装路径默认
C:\Program Files\PostgreSQL\16\ - 设置 postgres 超级用户密码(这一步要记好,后面连接必须用)
- 端口保持默认
5432 - Locale 保持默认
- 等待安装完成
安装后验证:
# 命令行里输入(要先配好 PATH)
psql -U postgres -h localhost
# 输入密码后看到:
postgres=#
或者打开 pgAdmin 4 用图形界面管理。
方式二:ZIP 手动安装
适合不想用安装包、想自定义路径的场景。
1. 解压到目标目录,如 D:\pgsql
2. 初始化数据目录:
D:\pgsql\bin\initdb -D D:\pgsql\data -U postgres -W
-W 参数会提示设置 postgres 用户密码,必须加,否则后续连接会失败。
3. 启动服务:
D:\pgsql\bin\pg_ctl -D D:\pgsql\data -l D:\pgsql\logs\postgresql.log start
4. 连接验证:
D:\pgsql\bin\psql -U postgres -h localhost
5. 把 bin 目录加入 PATH:
系统属性 → 环境变量 → Path → 新增:
D:\pgsql\bin
加好之后才能直接用 psql、pg_ctl 等命令。
EDB 安装包也会自动加 PATH,ZIP 安装需要手动配。
方式三:Docker(开发推荐)
一条命令,跳过所有安装步骤:
docker run --name pgsql \
-e POSTGRES_PASSWORD=123456 \
-p 5432:5432 \
-d postgres
连接:
psql -U postgres -h localhost
# 密码:123456
停止/启动:
docker stop pgsql
docker start pgsql
开发环境用 Docker 最省事,环境隔离,随时删掉重建。
常见问题
连不上 5432:
- 防火墙没放行 → 允许 PostgreSQL 入站
- 端口冲突 → 改
postgresql.conf里的port = 5433
忘记 postgres 密码:
修改 pg_hba.conf,把认证方式临时改成 trust,重启服务后进去改密码,再改回 scram-sha-256。
psql 找不到命令: PATH 没配好。把 PostgreSQL bin 目录加进去,或者用完整路径调用。
版本选择
| 版本 | 建议 |
|---|---|
| PostgreSQL 17 | 新项目首选(最新稳定版) |
| PostgreSQL 16 | 最稳定,生产首选 |
| PostgreSQL 15 及以下 | 老项目兼容,新项目不建议 |
关于生产环境
生产环境强烈建议用 Linux(Ubuntu/Debian/Rocky Linux)跑 PostgreSQL:
- 更好的 I/O 调度和文件系统(ext4/xfs)
- pgBackRest、Patroni 等高可用工具主要支持 Linux
- 运维脚本生态更成熟
Windows 版 PostgreSQL 可以用,但长期高并发稳定性和性能不如 Linux。开发/测试环境没问题,生产环境能用 Linux 就用 Linux。
