一、本地 PostgreSQL 连接测试
安装完成后,先确认数据库能正常连接。两种方式任选其一。
方式 1:pgAdmin4(图形界面)
新建连接,填写以下信息:
参数 | 值 |
Host |
|
Port |
|
Username |
|
Password | 你安装时设置的密码 |
点击测试连接,能连上就完全 OK。
方式 2:cmd 用 psql 连接
psql -U postgres -h localhost -p 5432(本机是psql -U postgres -h 192.168.1.51 -p 5432)
输入密码后,能进入 psql 命令行就正常。
二、常见问题:pg_hba.conf 报错
第一次安装连接时可能遇到这个报错:
C:\Users\Administrator>psql -U postgres -h 192.168.1.51 -p 5432 psql: 错误:连接到 "192.168.1.51" 上的服务器,端口 5432 失败:致命错误:没有用于主机 "192.168.1.51", 用户 "postgres", 数据库 "postgres", no encryption 的 pg_hba.conf 记录 (到时按下面的更改配置):
解决办法如下:
1. 修改 pg_hba.conf,放行内网 IP
找到并打开文件:
E:\PostgreSQL\18\data\pg_hba.conf
在文件末尾增加一行(放行 IPv4 内网网段):
host all all 192.168.1.0/24 scram-sha-256
2. 确认监听地址 postgresql.conf
打开同目录下的postgresql.conf,找到:
listen_addresses = 'localhost'
改成:
listen_addresses = '*'
改完配置后需要重启 PostgreSQL 服务才能生效(见下一节)。
三、重启 PostgreSQL 服务
Win + R→ 输入services.msc回车
- 找到
PostgreSQL 18- 如果状态是【正在运行】:右键停止,等它变成已停止,再右键启动
- 如果是【已停止】:直接右键【启动】
重启后再用 psql 连接一次,验证问题是否解决。
四、psql 常用命令速查
查看当前数据库列表:\l 切换数据库:\c 库名 查看所有表:\dt 退出 psql:\q
五、线上数据库备份(把 Neon 云托管数据库备份到本地)
第 1 步:打开 CMD
Win搜索cmd,打开命令提示符。
第 2 步:测试 pg_dump 是否可用
pg_dump --version
两种结果:
✅正常(能输出版本号,比如pg_dump (PostgreSQL) 18.x) 说明环境变量已配好,直接可以使用导出命令。
❌报错:'pg_dump' 不是内部或外部命令说明 bin 目录没加到系统 PATH,两个办法:
- 办法 A(临时用,推荐):先 cd 进到 pg 的 bin 目录再执行命令。例如 PG 装在
E:\PostgreSQL\18\bin:
- 办法 B(一劳永逸):把
E:\PostgreSQL\18\bin添加到系统环境变量Path,以后任意位置 cmd 都能直接调用。
第 3 步:导出 Neon 数据库
⚠️ 注意:先把 Neon 的连接串准备好,并且关闭 Connection Pooling(选 off,不带 pooler 的直连地址)。
执行导出命令(替换成你自己的连接串和保存路径):
g_dump --no-owner --no-acl "postgresql://你的用户名:你的密码@ep-xxxx.aws.neon.tech/rbac?sslmode=require&channel_binding=require" -f E:\PostgreSQL\sql-beifen\quanxian\neon-rbac-backup.sql
如何判断成功:
- 没有任何红色报错,光标安静等待一会儿然后回到提示符 → 代表成功
- 去
E:\PostgreSQL\sql-beifen\quanxian\目录看是否生成了.sql文件
常见报错排查:
报错现象 | 原因与解决 |
连接超时 | 去 Neon 控制台唤醒计算实例(唤醒 compute) |
密码/账号错、主机地址错 | 核对 Neon Connect 页面的直连地址 |
SSL 相关报错 | 保留 |
六、把备份恢复到线上(Neon)
根据你之前备份的方式,二选一:
方式 1:纯 pgAdmin4 图形界面操作
- 建库(Create → Database)
- 右键新库 → Restore(还原)
- 模板选 template0(这是干净版本,避免编码/模板冲突)
方式 2:命令行操作
第一步:先连接 Neon,创建一个干净的空库(我的库叫neondb ):
CREATE DATABASE neondb TEMPLATE template0;
第二步:用 psql 把备份文件恢复进去:
psql "postgresql://用户名:密码@ep-late-night-b5k8x2pn.c-7.us-east-2.aws.neon.tech/neondb?sslmode=require&channel_binding=require" -f E:\PostgreSQL\sql-beifen\quanxian\neon-rbac-backup.sql恢复完成后,用\dt检查表是否都回来了。
总结
场景 | 关键命令/操作 |
本地连接测试 |
|
内网连接报 pg_hba 错误 | pg_hba.conf 加 |
备份 Neon |
|
恢复到 Neon | 先 |
💡 建议定期把 Neon 云数据库 pg_dump 备份到本地,云服务也不是 100% 保险,双份存储更安心。