Postgresql

歸檔命令對一個特定文件重複失敗

  • July 12, 2019

我看到許多 pg_log 文件充滿了以下錯誤

2019-07-08 00:04:06 CEST DETAIL:  The failed archive command was: copy "pg_xlog\000000010000002100000025" "D:/Programme/OmniBack/server/db80/pg/pg_xlog_archive/000000010000002100000025"
2019-07-08 00:04:07 CEST LOG:  archive command failed with exit code 1
2019-07-08 00:04:07 CEST DETAIL:  The failed archive command was: copy "pg_xlog\000000010000002100000025" "D:/Programme/OmniBack/server/db80/pg/pg_xlog_archive/000000010000002100000025"
2019-07-08 00:04:07 CEST WARNING:  transaction log file "000000010000002100000025" could not be archived: too many failures
2019-07-08 00:05:07 CEST LOG:  archive command failed with exit code 1**

postgres.conf 有設置

checkpoint_segments = 256
wal_buffers = 256MB
wal_level = archive
archive_mode = on
port = 7112
work_mem = 128MB
shared_buffers = 512MB
effective_cache_size = 32719MB
listen_addresses = '*'
logging_collector = on
log_line_prefix = '%t '
archive_command = 'copy "%p" "D:/Programme/OmniBack/server/db80/pg/pg_xlog_archive/%f"'**

我已經檢查pg_xlog了這個文件的文件夾。此文件不存在,pg_xlogpg_xlog\archive_status具有以下權限

pg/pg_xlog\archive_status\000000010000002100000025.ready 

KDLF\adminkdlf:(I)(F)
VORDEFINIERT\Administratoren:(I)(F)
NT-AUTORITŽT\SYSTEM:(I)(F)
VORDEFINIERT\Benutzer:(I)(RX)

我的磁碟快滿了。請說明為什麼會出現此問題,因為其他日誌仍未存檔。我不確定我是否在這裡遺漏了什麼。

如果文件不在 中pg_xlog,但在 中有.ready文件archive_status,則一定有人刪除了該文件,這就是歸檔失敗的原因。

臨時設置archive_command = '/bin/true',直到視圖pg_stat_archiver顯示 PostgreSQL 再次高興,然後將參數設置回其原始值。

之後立即執行新的基礎備份。

您將無法在沒有 WAL 檔案的地方恢復。

試著找出你的哪些管理員愚蠢到從數據目錄中刪除文件並將他或她送到 PostgreSQL 課程。

引用自:https://dba.stackexchange.com/questions/242722