逻辑备份(常用)
pg_dump -U username -F c -b -v -f /path/backup.dump dbnamepg_dump -U username -t table_name -f /path/table_backup.sql dbnamepg_dump -U username -F c dbname | gzip > dbname.dump.gzpg_dumpall -U username -f /path/cluster_backup.sql物理备份
pg_basebackup -U username -D /path/backup -F t -z -P自动化备份
cron定时执行备份脚本,例如每日凌晨备份:0 2 * * * pg_dump -U username -F c dbname /backup/dbname_$(date +\%Y\%m\%d).dump逻辑备份恢复
pg_restore -U username -d dbname /path/backup.dumppsql -U username -d dbname -f /path/backup.sql物理备份恢复
sudo systemctl stop postgresqlrm -rf /var/lib/postgresql/*tar -xzf /path/backup.tar.gz -C /var/lib/postgresql/sudo systemctl start postgresql高级恢复(PITR)
postgresql.conf):wal_level = replica\narchive_mode = on\narchive_command = 'cp %p /backup/wal/%f'recovery_target_time='YYYY-MM-DD HH:MI:SS'sudo权限。pg_restore -l列出备份内容,或尝试恢复到测试环境。pg_basebackup物理备份,或结合WAL归档减少恢复时间。参考来源:[1,2,3,4,5,6,7,8,9,10,11]