PostgreSQL 18 本地连接配置 + Neon 云数据库备份与恢复全流程(Windows 实操)
一、本地 PostgreSQL 连接测试安装完成后先确认数据库能正常连接。两种方式任选其一。方式 1pgAdmin4图形界面新建连接填写以下信息参数值HostlocalhostPort5432UsernamepostgresPassword你安装时设置的密码点击测试连接能连上就完全 OK。方式 2cmd 用 psql 连接psql -U postgres -h localhost -p 5432本机是psql -U postgres -h 192.168.1.51 -p 5432输入密码后能进入 psql 命令行就正常。二、常见问题pg_hba.conf 报错第一次安装连接时可能遇到这个报错C:\Users\Administratorpsql -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-2562. 确认监听地址 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 步打开 CMDWin搜索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?sslmoderequirechannel_bindingrequire -f E:\PostgreSQL\sql-beifen\quanxian\neon-rbac-backup.sql如何判断成功没有任何红色报错光标安静等待一会儿然后回到提示符 → 代表成功去E:\PostgreSQL\sql-beifen\quanxian\目录看是否生成了.sql文件常见报错排查报错现象原因与解决连接超时去 Neon 控制台唤醒计算实例唤醒 compute密码/账号错、主机地址错核对 Neon Connect 页面的直连地址SSL 相关报错保留sslmoderequirechannel_bindingrequire参数六、把备份恢复到线上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?sslmoderequirechannel_bindingrequire -f E:\PostgreSQL\sql-beifen\quanxian\neon-rbac-backup.sql恢复完成后用\dt检查表是否都回来了。总结场景关键命令/操作本地连接测试psql -U postgres -h localhost -p 5432内网连接报 pg_hba 错误pg_hba.conf 加host all all 192.168.1.0/24 scram-sha-256listen_addresses * 重启服务备份 Neonpg_dump --no-owner --no-acl 连接串 -f 备份.sql恢复到 Neon先CREATE DATABASE xx TEMPLATE template0;再psql 连接串 -f 备份.sql 建议定期把 Neon 云数据库 pg_dump 备份到本地云服务也不是 100% 保险双份存储更安心。