---

title: PostgreSQL 时间点恢复(PITR) 基于 WAL 与基础备份实战

keywords: PITR, wal_level, archive_mode, archive_command, pg_basebackup, restore_command,

recovery.signal

description: 配置 WAL 归档与基础备份,使用 restore_command 与 recovery.signal 执行时间点恢复,保障数据库可回滚能力。

tags:

  • PITR
  • PostgreSQL
  • archive_command
  • archive_mode
  • pg_basebackup
  • recovery.signal
  • restore_command
  • wal_level
  • 备份
  • 数据库

categories:

  • 文章资讯
  • 技术教程

---

启用 WAL 归档(postgresql.conf):

wal_level = replica
archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/wal_archive/%f'

执行基础备份:

pg_basebackup -h 127.0.0.1 -p 5432 -U replicator -D /backups/base_2025_11_26 -X fetch -P

准备恢复目录与参数:

echo 'restore_command = "cp /var/lib/postgresql/wal_archive/%f %p"' >> /backups/base_2025_11_26/postgresql.auto.conf
touch /backups/base_2025_11_26/recovery.signal
echo "recovery_target_time = '2025-11-26 10:00:00+00'" >> /backups/base_2025_11_26/postgresql.auto.conf

启动使用备份的数据目录:

pg_ctl -D /backups/base_2025_11_26 start

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部