?
This document uses PHP Chinese website manual Release
檢索WAL文件中已歸檔段的SHELL命令。對歸檔恢復(fù)來說這個參數(shù)是必須的,但對流復(fù)制來說是可選的。 字符串中的任何一個%f是用歸檔檢索中的文件名替換,并且%p是用服務(wù)器上的復(fù)制目的地的路徑上復(fù)制目的地的路徑名 替換。(路徑名是相對當(dāng)前工作路徑的,如客戶端的data路徑)任意一個%r是用包含最新可用重啟點(diǎn)的文件名替換。 這是最早的文件,必須保留以轉(zhuǎn)儲,從而實(shí)現(xiàn)一致性,因此這個信息可以用于截斷歸檔至實(shí)現(xiàn)從當(dāng)前轉(zhuǎn)儲中重啟的最低要求。 %r典型的只用于熱備配置(參閱Section 25.2)。%%可以嵌入一個實(shí)際的%字符。
對命令來說,只有當(dāng)成功時返回一個零退出狀態(tài)是很重要的。命令會被要求歸檔命令中沒有出現(xiàn)的文件名; 當(dāng)為要求是,必須返回非零。如:
restore_command = 'cp /mnt/server/archivedir/%f "%p"' restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
這個選項(xiàng)參數(shù)聲明一個在每次重啟時執(zhí)行的shell命令。archive_cleanup_command為清理備庫不需要的歸檔WAL文件提供一個機(jī)制。 任何一個%r由包含最新可用重啟點(diǎn)的文件名代替。這是最早的文件,因此必須保留以允許轉(zhuǎn)儲能夠重新啟動, 因此所有早于%r的文件可以安全的移除。這個信息可以用于刪除歸檔至能滿足從當(dāng)前轉(zhuǎn)儲重啟的最低要求。 對典型單備配置中的archive_cleanup_command而言, contrib(參閱Section F.22)中的pg_archivecleanup是一個方便的目標(biāo),例如:
archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r'
然而需要注意的是,如果多個備服務(wù)器從相同的歸檔路徑轉(zhuǎn)儲,需要確保在任何一個備服務(wù)器不在需要之前,不能刪除WAL文件。 在熱備配置中,會明顯的用到archive_cleanup_command(參閱Section 25.2)。 通過%%,在命令中嵌入一個實(shí)際的%字符。
如果命令返回一個非0的退出狀態(tài),那么一個會寫一個警告日志信息。
這個參數(shù)是可選的,用于聲明一個只在恢復(fù)完成時執(zhí)行的SHELL命令。 recovery_end_command的目的是為復(fù)制或恢復(fù)之后進(jìn)行的清理動作提供一個機(jī)制。 %r由包含最新可用重啟點(diǎn)的文件名代替,如在archive_cleanup_command中的那樣。
如果命令返回一個非0的退出狀態(tài),那么一個會寫一個警告日志信息,并且 數(shù)據(jù)庫將會繼續(xù)啟動。如果命令被一個信號終止,數(shù)據(jù)庫不會繼續(xù)啟動。