Debian中pgAdmin的备份与恢复方法
导读:Debian中pgAdmin的备份与恢复方法 一 环境准备与连接检查 确认 PostgreSQL 服务处于运行状态:sudo systemctl status postgresql,若未运行则启动:sudo systemctl start...
Debian中pgAdmin的备份与恢复方法
一 环境准备与连接检查
- 确认 PostgreSQL 服务处于运行状态:
sudo systemctl status postgresql,若未运行则启动:sudo systemctl start postgresql。 - 如涉及远程连接,编辑 /etc/postgresql//main/postgresql.conf:将
listen_addresses = '*',端口保持 5432;编辑 /etc/postgresql//main/pg_hba.conf 放行来源网段(如host all all 0.0.0.0/0 md5),然后重启:sudo systemctl restart postgresql。 - 防火墙放行端口:
sudo ufw allow 5432/tcp;同时确认 pgAdmin 访问端口(默认 5050)已放行。 - 在 pgAdmin 中新建服务器连接,填写主机、端口、用户名与密码,确保能正常列出数据库对象。
二 使用pgAdmin进行备份
- 在左侧树形导航中,右键目标数据库,选择 Backup…。
- General 页:填写 Filename(建议使用绝对路径与 .backup 后缀,如 /var/backups/mydb-2025-12-12.backup),选择 备份方式(如 Custom/Plain)、编码(如 UTF8)与执行角色(如 postgres)。
- Data/Objects 页:按需勾选 Pre-data / Data / Post-data,以控制是否备份结构、数据或两者。
- Options 页:按需勾选 OIDs、是否包含/跳过 DDL 等高级选项。
- 点击 Backup 开始,完成后在界面右下角查看结果;备份文件将生成在指定的 Filename 路径。
三 使用pgAdmin进行恢复
- 在目标实例中,先创建同名且结构一致的空数据库(若需覆盖,可先删除或重命名现有库)。
- 右键该数据库,选择 Restore…。
- General 页:选择备份文件的 格式 与 文件路径(如 /var/backups/mydb-2025-12-12.backup)。
- Data/Objects 页:选择与备份时一致的恢复范围(如 Pre-data / Data / Post-data)。
- Options 页:设置错误处理策略(如遇到错误是否继续)、Owner、是否使用事务等。
- 点击 Restore 开始,完成后在右下角查看结果。
四 命令行方式与策略补充
- 逻辑备份与恢复
- 备份:
pg_dump -h localhost -U postgres -F c -b -v -f /var/backups/mydb.backup mydb(自定义格式,含大对象,便于选择性恢复)。 - 恢复:
pg_restore -h localhost -U postgres -d mydb -v /var/backups/mydb.backup。
- 备份:
- 物理备份与恢复(整实例/集群级别)
- 备份:
pg_basebackup -h localhost -U postgres -D /var/backups/base_20251212 -P -X stream -R -F plain。 - 恢复:停止实例,清空/替换数据目录,将备份内容复制到 $PGDATA,按 recovery.conf(或 postgresql.auto.conf 中的
restore_command)配置恢复,然后启动。
- 备份:
- 备份策略建议
- 明确备份范围(库/模式/表)、周期与保留时间,并选择本地或云端存储;
- 定期做恢复演练与完整性校验,并在低峰时段执行恢复,全程监控。
五 常见问题与排错要点
- 权限与连接
- 执行备份/恢复的角色需具备相应权限(如 CREATEDB、对目标库的 OWNER/CREATE 权限);
- 若失败提示认证或网络错误,复核 pg_hba.conf、
listen_addresses、防火墙与端口(5432/5050)。
- 版本与兼容性
- 确保 pgAdmin 与 PostgreSQL 版本兼容;必要时升级后再执行备份/恢复。
- 文件与格式
- 自定义格式(.backup)便于
pg_restore做选择性恢复;Plain SQL 脚本可用psql直接执行。
- 自定义格式(.backup)便于
- 目标库状态
- 恢复前确保目标库为空或结构匹配;必要时先
DROP/CREATE或使用新库。
- 恢复前确保目标库为空或结构匹配;必要时先
- 日志定位
- 查看 pgAdmin 任务输出与 PostgreSQL 服务日志(如 /var/log/postgresql/)以快速定位问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian中pgAdmin的备份与恢复方法
本文地址: https://pptw.com/jishu/771153.html
