温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样备份PostgreSQL数据库

发布时间:2026-11-07 12:31:33 来源:亿速云 阅读:99 作者:小樊 栏目:数据库

备份 PostgreSQL 数据库有多种方式,下面按常用程度和场景给你系统讲一下。


一、使用 pg_dump(最常用,逻辑备份)

1️⃣ 备份单个数据库

pg_dump -U username -h hostname -p 5432 dbname > dbname.sql

常用参数:

  • -F p:纯文本 SQL(默认)
  • -F c:自定义格式(压缩,推荐)
  • -F t:tar 格式

示例(压缩格式):

pg_dump -U postgres -F c -b -v dbname -f dbname.dump

2️⃣ 只备份结构(不含数据)

pg_dump -U postgres -s dbname > schema.sql

3️⃣ 只备份数据(不含结构)

pg_dump -U postgres -a dbname > data.sql

二、使用 pg_dumpall(备份所有数据库)

适合集群级备份(包括角色、表空间):

pg_dumpall -U postgres > all_databases.sql

⚠️ 不支持压缩格式,文件较大。


三、恢复数据库

1️⃣ 恢复 pg_dump 的 SQL 文件

psql -U postgres dbname < dbname.sql

2️⃣ 恢复自定义格式(推荐)

pg_restore -U postgres -d dbname -v dbname.dump

四、物理备份(适合大型数据库)

1️⃣ 文件级冷备份

  • 停止 PostgreSQL
  • 复制 data 目录

❌ 不推荐生产环境


2️⃣ 使用 pg_basebackup(热备份)

pg_basebackup -U replicator -D /backup/pgdata -Ft -z -P

常用于:

  • 主从复制
  • 配合 WAL 做时间点恢复(PITR)

五、自动化备份建议

示例:每天定时备份

0 2 * * * pg_dump -U postgres dbname | gzip > /backup/db_$(date +%F).sql.gz

六、备份策略建议

场景 推荐方式
小中型数据库 pg_dump
多数据库 pg_dumpall
大数据量 pg_basebackup + WAL
云数据库 使用厂商快照

如果你告诉我:

  • 数据库大小
  • 是否生产环境
  • 是否需要增量备份

我可以帮你设计具体备份方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手