📘 PostgreSQL 18 本地部署与运维完全指南 (Windows版)

适用版本:PostgreSQL 18 (Windows x64)
安装路径D:\pgsql
数据目录D:\pgsql\data
默认端口5432
超级用户postgres
预设密码123456 (生产环境请修改!)


📋 第一阶段:下载与初始化安装

1. 下载安装包

2. 运行安装向导

双击安装包,按以下步骤操作:

  1. Installation Directory (安装目录):
    • 点击 Browse,修改为:D:\pgsql
    • (建议不要安装在 C 盘,避免系统盘空间不足)
  2. Select Components (选择组件):
    • 全选默认即可 (PostgreSQL Server, pgAdmin 4, Command Line Tools, Stack Builder)。
  3. Data Directory (数据目录):
    • 保持默认 (会自动设为 D:\pgsql\data)。
  4. Password (设置密码):
    • 输入超级用户 postgres 的密码:123456
    • ⚠️ 重要:请务必记牢此密码,后续所有连接都依赖它。
  5. Port (端口):
    • 保持默认:5432
  6. Locale (区域设置):
    • 保持默认 Default locale (通常对应系统语言)。
  7. 完成安装:
    • 取消勾选 “Stack Builder” (除非你需要额外插件),点击 Finish

⚙️ 第二阶段:配置环境变量 (可选但推荐)

为了能在任意 CMD 窗口直接使用 psql, pg_ctl 等命令,需配置环境变量。

  1. 右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
  2. 系统变量 中找到 Path,点击“编辑”。
  3. 点击“新建”,添加路径:
    D:\pgsql\bin
    
  4. 连续点击“确定”保存。
  5. 验证:打开一个新的 CMD 窗口,输入 psql --version,若显示版本号则成功。

🛠️ 第三阶段:注册服务与开机自启 (核心步骤)

默认安装可能未将数据库注册为“自动启动”的 Windows 服务,需手动执行以确保重启后自动运行。

1. 以管理员身份打开 CMD

  • 搜索 cmd,右键选择 “以管理员身份运行”

2. 进入 bin 目录

cd /d D:\pgsql\bin

3. 注册 Windows 服务

执行以下命令(服务名设为 PostgreSQL-18):

pg_ctl register -N "PostgreSQL-18" -D "D:\pgsql\data"
  • 成功标志:屏幕显示 Service registered successfully
  • 注:-N 指定服务名,-D 指定数据目录。

4. 设置开机自启并启动服务

:: 设置为自动启动
sc config PostgreSQL-18 start= auto

:: 立即启动服务
net start PostgreSQL-18
  • 成功标志:显示 PostgreSQL-18 服务正在启动 . . . . . PostgreSQL-18 服务已经启动成功。

5. 验证状态

输入以下命令确认状态:

sc qc PostgreSQL-18

检查输出中是否包含:START_TYPE : 2 AUTO_STARTSTATE : 4 RUNNING


🔌 第四阶段:连接测试 (Navicat & 命令行)

1. 命令行连接测试

在任意 CMD 窗口输入:

psql -U postgres -h localhost
  • 输入密码:123456 (输入时不显示字符,输完回车)。
  • 出现 postgres=# 提示符即表示成功。
  • 退出输入:\q

2. Navicat 连接配置

打开 Navicat for PostgreSQL,新建连接:

  • 连接名: Local_PG
  • 主机: localhost (或 127.0.0.1)
  • 端口: 5432
  • 初始数据库: postgres
  • 用户名: postgres
  • 密码: 123456
  • 点击 “测试连接”,显示 Connection successful 后保存。

🆘 第五阶段:常见运维命令速查

将以下命令保存在备忘录中,日常维护必备。

场景 命令 (需在管理员 CMD 执行) 说明
启动服务 net start PostgreSQL-18 手动启动数据库
停止服务 net stop PostgreSQL-18 手动停止数据库
重启服务 net stop PostgreSQL-18 net start PostgreSQL-18 修改配置后需重启
查看状态 sc query PostgreSQL-18 查看是否运行中
卸载服务 pg_ctl unregister -N "PostgreSQL-18" -D "D:\pgsql\data" 慎用:移除开机自启和服务注册
修改密码 psql -U postgres -c "ALTER USER postgres WITH PASSWORD '新密码';" 在 psql 中执行或登录后执行

⚠️ 故障排查 (Troubleshooting)

问题 1:Navicat 连接报错 “no pg_hba.conf entry”

原因:配置文件禁止了 TCP/IP 连接。
解决

  1. 编辑文件:D:\pgsql\data\pg_hba.conf
  2. 在文件末尾添加:
    host    all             all             127.0.0.1/32            scram-sha-256
    host    all             all             ::1/128                 scram-sha-256
    
  3. 重启服务net stop PostgreSQL-18 && net start PostgreSQL-18

问题 2:忘记密码

解决

  1. 停止服务:net stop PostgreSQL-18
  2. 临时修改 D:\pgsql\data\pg_hba.conf,将 scram-sha-256 改为 trust (允许无密码登录)。
  3. 启动服务:net start PostgreSQL-18
  4. 登录并修改密码:psql -U postgres -> ALTER USER postgres WITH PASSWORD '123456';
  5. 重要:改回 pg_hba.confscram-sha-256 并重启服务,恢复安全性。

问题 3:服务无法启动

检查

  1. 查看日志文件:D:\pgsql\data\logfile (或你在注册时指定的日志路径)。
  2. 检查端口占用:netstat -ano | findstr 5432,看是否有其他程序占用了 5432 端口。

✅ 部署完成检查清单

在交付或使用前,请确认以下三点:

  • 服务 PostgreSQL-18services.msc 中状态为 “正在运行” 且启动类型为 “自动”
  • 能够使用 psql -U postgres 在命令行成功登录。
  • 能够使用 Navicat 通过 localhost:5432 成功连接并看到数据库列表。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐