逻辑备份
-F c)、压缩(gzip)及选择性备份(如指定表-t)。pg_dump -U postgres -F c -b -v -f /backup/db_backup.backup mydb物理备份
--incremental)和压缩,适用于快速恢复。pg_basebackup -D /backup/full -F t -z -P -h localhost -p 5432 -U postgres连续归档(PITR)
postgresql.conf,设置wal_level=replica、archive_mode=on,并配置archive_command(如cp %p /backup/pgarch/%f)。自动化与定时任务
cron定期执行备份脚本,如每日凌晨备份:0 1 * * * /usr/bin/pg_dump -U postgres -F c -f /backup/db_$(date +%Y%m%d).backup。逻辑备份恢复
pg_restore -U postgres -d mydb /backup/db_backup.backup物理备份恢复
pg_basebackup恢复全量备份,配合WAL日志实现PITR。sudo systemctl stop postgresqlcp -r /backup/full/* /var/lib/postgresql/版本号/postgresql.auto.conf指定restore_command和恢复时间点,重启服务。误删数据恢复
pg_resetwal回滚到一致状态点(可能导致部分数据丢失)。参考来源:[1,2,3,4,5,6,7,8,9,10]