gpt4 book ai didi

恢复后 PostgreSQL 9.2 归档最后重放的 WAL

转载 作者:行者123 更新时间:2023-11-29 14:01:05 26 4
gpt4 key购买 nike

按照 PostgreSQL 9.2 官方文档,我在我的 postgres.conf 文件上设置了连续归档:

wal_level = archive
archive_mode = on
archive_command = 'test ! -f /.../archive/%f && cp %p /.../archive/%f'

备份和恢复成功后,数据库启动时存档命令失败,因为 PostgreSQL 正在尝试存档最后重放的 WAL 文件,显然,它已经存档了。我的 recovery.conf 文件如下:

restore_command = 'cp /.../archive/%f "%p"'
recovery_target_time = '2013-07-02 15:20:12'

这是我在尝试启动数据库时遇到的错误:

LOG:  database system was interrupted; last known up at 2013-07-02 14:53:37 CEST
LOG: creating missing WAL directory "pg_xlog/archive_status"
LOG: starting point-in-time recovery to 2013-07-02 15:20:12+02
LOG: restored log file "000000010000000000000002" from archive
LOG: redo starts at 0/2000020
LOG: consistent recovery state reached at 0/20023D0
LOG: restored log file "000000010000000000000003" from archive
LOG: recovery stopping before commit of transaction 4063, time 2013-07-02 15:20:12.211559+02
LOG: redo done at 0/306D8B8
LOG: last completed transaction was at log time 2013-07-02 15:20:11.189978+02
cp: cannot stat `/.../archive/00000002.history': No such file or directory
LOG: selected new timeline ID: 2
cp: cannot stat `/.../archive/00000001.history': No such file or directory
LOG: archive recovery complete
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
LOG: archive command failed with exit code 1
DETAIL: The failed archive command was: test ! -f /.../archive/000000010000000000000003 && cp pg_xlog/000000010000000000000003 /.../archive/000000010000000000000003
LOG: archive command failed with exit code 1
DETAIL: The failed archive command was: test ! -f /.../archive/000000010000000000000003 && cp pg_xlog/000000010000000000000003 /.../archive/000000010000000000000003
LOG: archive command failed with exit code 1
DETAIL: The failed archive command was: test ! -f /.../archive/000000010000000000000003 && cp pg_xlog/000000010000000000000003 /.../archive/000000010000000000000003
WARNING: transaction log file "000000010000000000000003" could not be archived: too many failures

这是预期的行为吗?恢复后是否应该归档最后重放的 WAL 文件?如果是这样,则存档命令不应失败,以防文件已存档(如文档中所述)。

最佳答案

显然,您应该只存档一次并恢复存档的副本。

我会在恢复期间关闭存档,然后再打开它。

关于恢复后 PostgreSQL 9.2 归档最后重放的 WAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com