W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
pg_archivecleanup — 清理PostgreSQL WAL 歸檔文件
pg_archivecleanup
[option
...] archivelocation
oldestkeptwalfile
pg_archivecleanup被設(shè)計(jì)用作 archive_cleanup_command
在作為后備服務(wù)器運(yùn)行( 第 26.2 節(jié))時(shí)來(lái)清理 WAL 文件歸檔。 pg_archivecleanup也可以被用作一個(gè)單獨(dú)的程序來(lái)清理
WAL 文件歸檔。
要配置一個(gè)后備服務(wù)器以使用pg_archivecleanup,把下面 的內(nèi)容放在postgresql.conf
配置文件中:
archive_cleanup_command = 'pg_archivecleanup archivelocation
%r'
其中archivelocation
是要從中移除 WAL 段文件的目錄。
當(dāng)被用在archive_cleanup_command中時(shí),所有邏輯上在 %r
參數(shù)的值之前的 WAL 文件都將被從 archivelocation
移除。這能最小化需要被保留的文件數(shù)量, 同時(shí)能保留崩潰后重啟的能力。如果對(duì)于這臺(tái)特定的后備服務(wù)器,
archivelocation
是一個(gè)短暫需要的區(qū)域,使用這個(gè)參數(shù)就是 合適的,但是當(dāng)archivelocation
要用作一個(gè)長(zhǎng)期的 WAL 歸檔 區(qū)域或者當(dāng)多個(gè)后備服務(wù)器正在從這個(gè)歸檔位置恢復(fù)時(shí),使用這個(gè)參數(shù)就 不合適。
當(dāng)被用作一個(gè)單獨(dú)的程序時(shí),所有邏輯上在oldestkeptwalfile
之前的 WAL 文件將被從archivelocation
中移除。在這種模式 中,如果指定了.partial
或者.backup
文件名,則 只有該文件前綴將被用作
oldestkeptwalfile
。這種對(duì) .backup
文件名的處理允許你移除所有在一個(gè)特定基礎(chǔ)備份之前歸 檔的 WAL 文件而不出錯(cuò)。例如,下面的例子將移除所有比 WAL 文件名 000000010000003700000010
老的文件:
pg_archivecleanup -d archive 000000010000003700000010.00000020.backup
pg_archivecleanup: keep WAL file "archive/000000010000003700000010" and later
pg_archivecleanup: removing file "archive/00000001000000370000000F"
pg_archivecleanup: removing file "archive/00000001000000370000000E"
pg_archivecleanup假定 archivelocation
是一個(gè)可讀的目錄并且對(duì)于服務(wù)器擁有者是可寫的。
pg_archivecleanup接受下列命令行參數(shù):
-d
在stderr
上打印很多調(diào)試日志輸出。
-n
在stdout
上打印將被移除的文件的名字(執(zhí)行一次演習(xí))。
-V
--version
打印pg_archivecleanup版本并退出。
-x
extension
提供一個(gè)擴(kuò)展名,在決定所有的文件 是否應(yīng)該被刪除之前,將從文件名中剝離這個(gè)擴(kuò)展名。這通常有助于清理已經(jīng) 存儲(chǔ)期間被壓縮過(guò)并且被壓縮程序增加了一個(gè)擴(kuò)展名的歸檔。例如: -x .gz
。
-?
--help
顯示pg_archivecleanup命令行參數(shù)的幫助并退出。
環(huán)境變量 PG_COLOR
指定是否在診斷消息中使用顏色。 可能的值是 always
, auto
和 never
。
在作為一個(gè)單獨(dú)的工具時(shí),pg_archivecleanup 被設(shè)計(jì)為與PostgreSQL 8.0 及其后的版本一起工作。如果 作為一個(gè)歸檔清理命令使用,則需要和PostgreSQL 9.0 及 其后的版本一起工作。
pg_archivecleanup以 C 寫成并且具有很容易修改的 源代碼,其中有特別指定的區(qū)域用于修改以符合你的需要
在 Linux 或者 Unix 系統(tǒng)上,你可能會(huì)用:
archive_cleanup_command = 'pg_archivecleanup -d /mnt/standby/archive %r 2>>cleanup.log'
其中歸檔目錄位于后備服務(wù)器上,這樣archive_command
通過(guò) NFS 來(lái)訪問(wèn)它,但是文件對(duì)于后備服務(wù)器來(lái)說(shuō)是本地的。這將會(huì)
在cleanup.log
中產(chǎn)生調(diào)試輸出
從歸檔目錄中移除不再需要的文件
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: