Postgresql
歸檔命令對一個特定文件重複失敗
我看到許多 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_xlog
但pg_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 課程。