Postgres服务器无法启动连接,如何离线备份数据库?
PostgreSQL服务无法启动时的离线备份方案
问题说明
- 准备重置电脑,需要备份PostgreSQL数据库,但pgAdmin无法连接服务器
- Windows服务中PostgreSQL已停止,且尝试重启失败
- 使用
psql控制台连接同样报错,关闭防火墙后问题仍未解决 - 控制台报错信息:
>psql -U postgres -W Password: psql: error: connection to server at "localhost" (::1), port 5432 failed: Connection refused (0x0000274D/10061) Is the server running on that host and accepting TCP/IP connections? connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused (0x0000274D/10061) Is the server running on that host and accepting TCP/IP connections?
- pgAdmin连接时出现超时错误
离线冷备份步骤
1. 定位PostgreSQL数据目录
默认安装路径通常是C:\Program Files\PostgreSQL\<你的版本号>\data(例如C:\Program Files\PostgreSQL\15\data)。如果找不到,可在安装目录中打开postgresql.conf文件,查看data_directory参数,该参数会明确数据目录的绝对路径。
2. 复制核心文件/文件夹
直接将以下内容复制到U盘、移动硬盘等外部存储介质中:
- 整个
data文件夹:包含所有数据库的表结构、数据、索引等核心信息 postgresql.conf、pg_hba.conf、pg_ident.conf:这三个是PostgreSQL的核心配置文件,后续恢复时必须用到
3. 验证备份完整性
复制完成后,对比备份文件夹与原data文件夹的大小,确保无文件遗漏或复制中断。
后续恢复操作提示
重置电脑并安装同版本的PostgreSQL后,按以下步骤恢复:
- 停止新安装的PostgreSQL服务
- 删除新安装目录下的
data文件夹 - 将备份的
data文件夹复制到新安装的对应位置 - 用备份的三个配置文件覆盖新
data文件夹中的同名文件(若新环境的端口、权限有变化,可按需修改配置) - 启动PostgreSQL服务,即可恢复所有数据库
内容的提问来源于stack exchange,提问作者Kaan Kayas
相关产品推荐
相关产品推荐

