备份 PostgreSQL 数据库有多种方式,下面按常用程度和场景给你系统讲一下。
pg_dump(最常用,逻辑备份)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
pg_dump -U postgres -s dbname > schema.sql
pg_dump -U postgres -a dbname > data.sql
pg_dumpall(备份所有数据库)适合集群级备份(包括角色、表空间):
pg_dumpall -U postgres > all_databases.sql
⚠️ 不支持压缩格式,文件较大。
pg_dump 的 SQL 文件psql -U postgres dbname < dbname.sql
pg_restore -U postgres -d dbname -v dbname.dump
data 目录❌ 不推荐生产环境
pg_basebackup(热备份)pg_basebackup -U replicator -D /backup/pgdata -Ft -z -P
常用于:
0 2 * * * pg_dump -U postgres dbname | gzip > /backup/db_$(date +%F).sql.gz
| 场景 | 推荐方式 |
|---|---|
| 小中型数据库 | pg_dump |
| 多数据库 | pg_dumpall |
| 大数据量 | pg_basebackup + WAL |
| 云数据库 | 使用厂商快照 |
如果你告诉我:
我可以帮你设计具体备份方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。