温馨提示×

Debian上pgAdmin如何备份数据

小樊
34
2025-12-08 15:41:50
栏目: 智能运维

在 Debian 上使用 pgAdmin 备份数据的完整指南

一 使用 pgAdmin 图形界面备份

  • 连接服务器:在 pgAdmin 左侧展开 Servers,连接到目标 PostgreSQL 实例。
  • 选择对象:在目标对象上右键,支持对 database、schema、table 执行备份(以数据库为例)。
  • 配置备份参数:
    • General:设置 Filename(建议包含日期,如:mydb-2025-12-08.backup)、Format(见下文格式选择)、EncodingRole name
    • Data/Objects:按需勾选 Pre-data / Data / Post-data,决定是仅结构、仅数据或全量。
    • Options:如 With OIDs、是否包含/跳过 DDL 等细项。
  • 开始备份:点击 Backup,右下角会显示进度与结果;备份文件将生成在指定的 Filename 路径。

二 备份文件格式与选择

  • 自定义格式(Custom):扩展名常用 .backup,支持后续用 pg_restore 做选择性恢复(按表/模式/数据等),适合生产环境。
  • Tar 格式(Tar):扩展名常用 .tar,同样可用 pg_restore 恢复,便于打包传输。
  • 纯文本 SQL 格式(Plain):扩展名常用 .sql,本质是 SQL 脚本,不能用 pg_restore,需用 psql 执行导入。
  • 选择建议:需要灵活恢复与迁移时优先 Custom/Tar;希望跨平台、便于审阅或导入到其他工具时可用 Plain SQL

三 命令行备份与自动化(Debian 常用)

  • 逻辑备份(pg_dump):
    • 全库:pg_dump -h localhost -U postgres -F c -b -v -f mydb.backup mydb
    • 仅结构:pg_dump -h localhost -U postgres -s -f mydb-schema.sql mydb
    • 仅数据:pg_dump -h localhost -U postgres -a -f mydb-data.sql mydb
    • 指定表:pg_dump -h localhost -U postgres -t schema.table mydb > table.sql
  • 还原方式:
    • 自定义/Tar:pg_restore -h localhost -U postgres -d mydb mydb.backup
    • 纯文本 SQL:先创建空库 createdb -U postgres mydb,再 psql -h localhost -U postgres -d mydb -f mydb.sql
  • 自动化:在 Debian 上用 cron 定时执行脚本,并结合日志轮转与保留策略,确保可恢复性与存储可控。

四 恢复与常见注意事项

  • 使用 pgAdmin 恢复:在目标库上右键 Restore,选择备份文件与格式,按需勾选 Data/ObjectsOptions,点击 Restore 执行;右下角显示进度与结果。
  • 使用命令行恢复:
    • 自定义/Tar:pg_restore -h localhost -U postgres -d mydb mydb.backup
    • 纯文本 SQL:psql -h localhost -U postgres -d mydb -f mydb.sql
  • 关键注意:
    • 恢复前确认目标库存在且字符集/版本兼容;必要时先建空库。
    • 路径中尽量避免空格等特殊字符,防止解析失败。
    • 建议在低峰时段执行,并在非生产环境先验证备份可用性与恢复流程。

0