【发布时间】:2017-02-12 04:06:48
【问题描述】:
我通过引用https://opensourcedbms.com/dbms/how-to-do-point-in-time-recovery-with-postgresql-9-2-pitr-3/ 站点执行一些步骤来执行 PITR。
我想知道 pg_basebackup 实际上做了什么?我想知道,Postgres 是做什么的?有时我注意到000000010000000000000006.000000D0.backup 文件是在 pg_xlog 目录中创建的。其内容为:
START WAL LOCATION: 0/60000D0 (file 000000010000000000000006)
STOP WAL LOCATION: 0/60001D8 (file 000000010000000000000006)
CHECKPOINT LOCATION: 0/6000108
BACKUP METHOD: pg_start_backup
BACKUP FROM: master
START TIME: 2016-10-01 15:10:52 IST
LABEL: myBaseBackupByPgStartBackup
STOP TIME: 2016-10-01 15:15:42 IST
我想知道它的功能以及每当我们执行pg_basebackup 时它在内部做什么?
【问题讨论】:
-
关于在 pg_basebackup 期间创建的 .backup 文件。当归档处于活动状态时,在 pg_basebackup 之后,.backup 会在您指定的 wal 归档文件夹中创建。我注意到,如果我在尝试集群还原时没有从存档的 wal 集中删除此文件,那么它将限制在重新启动时应用的 wal 存档文件为文件中详细说明的文件。
-
因此,当尝试从 3 天前恢复 pg_basebackup 并从那时到现在使用 wal 存档时,如果我将 .backup 文件留在存档的 wal 文件夹中,则只有一两个存档的 wal 从接近pg_basebackup 操作的时间被复制并应用。如果我将其删除并重新启动,则应用了所有 3 天的 wal 存档
标签: postgresql data-recovery disaster-recovery