备份与 PITR

目录示例:/backup/pg/appdb/

逻辑

pg_dump -Fc -d appdb -n app_schema -f app_schema.dump
pg_restore -d appdb_dev --no-owner app_schema.dump

适合迁模式、给开发库。整实例大恢复通常太慢。

物理

pg_basebackup 或文件系统快照(要与 PostgreSQL 的备份 API 配合,保证一致性)。再配 WAL 归档或复制槽,才能做时间点恢复。

pg_basebackup -h pg-a -U replicator -D /backup/pg/base -Fp -Xs -P

pg_start_backup / 快照 / pg_stop_backup 是传统文件系统备份的骨架。版本不同,优先用当前大版本文档里的备份 API。

归档是否在工作

SHOW archive_mode;
SHOW archive_command;
SELECT last_archived_wal, last_archived_time, last_failed_wal, last_failed_time
FROM pg_stat_archiver;

archive_command 失败会让 WAL 堆积。命令里不要写带密码的明文 URL。

注意

恢复演练要包括:选一个时间点、拉起隔离实例、核对校验和。备份盘与数据盘分离。

参考:Backup and Restore