使用“ pg_basebackup”实用程序进行备份时出现错误

时间:2018-08-28 01:51:12

标签: postgresql postgresql-9.2

我们正在使用以下命令来备份数据库。

$PGHOME/bin/pg_basebackup -p 5433 -U postgres -P -v -x --format=tar --gzip --compress=1 --pgdata=- -D /opt/rao    

进行备份时,我们收到以下错误消息。

​transaction log start point: 285/8F000080
pg_basebackup: could not get transaction log end position from server: FATAL:  requested WAL segment 00000001000002850000008F has already been removed​

请指导我为什么以及如何处理此错误。您是否希望我更改pg_basebackup命令中的任何选项,让我知道。

请在我上面的pg_basebackup命令中说明--pgdata=--D的含义。

1 个答案:

答案 0 :(得分:2)

-D directory
--pgdata=directory

这指定要将输出写入的目录。 当备份处于tar模式并且目录指定为-(破折号)时,tar文件将被写入stdout。此参数是必需的。

FATAL:  requested WAL segment 00000001000002850000008F has already been removed

表示主服务器的历史记录不足,无法使备用数据库保持最新状态。

您可以使用pg_basebackup创建一个新的奴隶:

pg_basebackup -h masterhost -U postgres -D path --progress --verbose -c fast

拥有WAL存档时,可以尝试restore_command。 pg_basebackup在一个空目录中创建一个全新的slave。