centos中pgadmin备份与恢复技巧
导读:CentOS 上 pgAdmin 备份与恢复技巧 一 备份与恢复的核心思路 在 CentOS 环境中,建议将 pgAdmin 的图形化操作 与 命令行工具 结合使用:日常与小规模任务用 pgAdmin 快速完成;批量、自动化与复杂场景用命...
CentOS 上 pgAdmin 备份与恢复技巧
一 备份与恢复的核心思路
- 在 CentOS 环境中,建议将 pgAdmin 的图形化操作 与 命令行工具 结合使用:日常与小规模任务用 pgAdmin 快速完成;批量、自动化与复杂场景用命令行更可控。备份类型分为两类:
- 逻辑备份:使用 pg_dump / pg_restore,导出为 SQL 脚本 或 自定义格式(-F c),便于跨版本迁移、按库/模式/表粒度恢复。
- 物理备份:使用 pg_basebackup,适合大规模数据与快速全量恢复,配合 WAL 归档 可实现时间点恢复(PITR)。
- 在 pgAdmin 中,备份与恢复入口直观:在左侧对象树选择数据库,右键执行 Backup… / Restore…;云上 RDS for PostgreSQL 也提供相同的右键菜单操作,便于统一管理。
二 使用 pgAdmin 进行备份与恢复
- 备份步骤
- 登录 pgAdmin 并连接到目标 PostgreSQL 服务器;
- 在左侧展开到目标数据库,右键选择 Backup…;
- 在 General 页签中设置:备份文件的 路径与名称、格式(如纯文本 SQL 或 自定义格式 -F c,自定义格式支持压缩与选择性恢复)、以及要备份的 数据范围(全库/模式/表);
- 确认后执行,完成后在输出中看到成功提示(如“进程退出并返回 0”)。
- 恢复步骤
- 在左侧选择目标数据库(或先新建空库),右键选择 Restore…;
- 选择备份文件,必要时设置 角色、恢复范围 与 目标数据库;
- 点击 Restore 开始恢复,完成后校验对象与数据。
- 适用场景
- 纯文本 .sql:便于审阅、跨平台迁移、小中型库快速恢复;
- 自定义格式 .backup / .dump:支持 并行恢复、按对象恢复、压缩,适合生产环境。
三 使用命令行进行备份与恢复
- 逻辑备份与恢复(灵活、可迁移)
- 备份为纯文本 SQL:
- 命令:
pg_dump -h localhost -U postgres -d mydb -f /backup/mydb.sql
- 命令:
- 备份为自定义格式(推荐生产使用):
- 命令:
pg_dump -h localhost -U postgres -d mydb -Fc -f /backup/mydb.dump
- 命令:
- 恢复
- 纯文本:
psql -h localhost -U postgres -d mydb -f /backup/mydb.sql - 自定义格式:
pg_restore -h localhost -U postgres -d mydb /backup/mydb.dump
- 纯文本:
- 备份为纯文本 SQL:
- 物理备份与时间点恢复(PITR,适合大库与高可用)
- 全量基础备份:
- 命令:
pg_basebackup -h localhost -U postgres -D /backup/base -P -X stream -R - 说明:-X stream 流式传输 WAL;-R 自动写入 recovery.conf(新版本为 standby.signal + recovery.signal)。
- 命令:
- 时间点恢复:在 recovery.conf(或 postgresql.auto.conf)中设置
restore_command与recovery_target_time/recovery_target_lsn,启动数据库自动回放至指定时间点。
- 全量基础备份:
- 自动化与脚本化
- 将
pg_dump/pg_restore写入 crontab 或 systemd timer,结合保留策略(如保留最近 7/30 天)实现无人值守备份。
- 将
四 备份策略与运维要点
- 策略制定
- 明确备份范围(库/模式/表)、周期(如每日全量 + 每小时 WAL)、保留时间(如 7/30 天)与 存储位置(本地盘/NAS/对象存储);
- 选择工具:日常与迁移优先 pg_dump/pg_restore;大库与快速恢复优先 pg_basebackup + WAL 归档。
- 安全与合规
- 备份文件设置 严格权限(600),并定期做 异地/云端 副本;
- 恢复演练纳入变更流程,定期在 非生产环境 验证备份可用性与完整性。
- 性能与影响控制
- 备份在 低峰时段 执行;自定义格式配合 并行恢复 提升速度;
- 大对象(LOB)较多时,优先使用 自定义格式 并分对象恢复,减少锁与资源争用。
- 云上场景
- 使用 RDS for PostgreSQL 时,仍可用 pgAdmin 的 Backup/Restore 菜单执行备份与恢复,操作路径与自建库一致,便于统一运维。
五 常见问题与排查清单
- 权限与连接
- 确保用于备份/恢复的 数据库用户 具备足够权限(如 pg_dump 需要 CONNECT/SELECT,pg_restore 需要 CREATE/CONNECT 等);
- 远程备份时,确认 pg_hba.conf 允许来源 IP,且 防火墙/SELinux 已放行端口。
- 恢复失败与版本兼容
- 纯文本脚本恢复失败多与 search_path、对象依赖、权限 相关;自定义格式可用
pg_restore -l查看内容清单、-j并行恢复; - 跨大版本恢复建议先小范围演练,必要时调整
search_path或重建依赖对象。
- 纯文本脚本恢复失败多与 search_path、对象依赖、权限 相关;自定义格式可用
- 物理恢复要点
- 确认 WAL 归档目录 完整、
restore_command正确、standby.signal或recovery.signal就位; - 恢复到新主机时,注意 postgresql.conf 与 pg_hba.conf 的适配,避免启动后无法连接。
- 确认 WAL 归档目录 完整、
- 快速自检
- 备份后执行
head/tail检查 SQL 文件头尾 或pg_restore -l检查 备份清单; - 恢复后用
SELECT COUNT(*)、pg_tables/pg_stat_user_tables校验对象与数据量。
- 备份后执行
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中pgadmin备份与恢复技巧
本文地址: https://pptw.com/jishu/750054.html
