PostgreSQL recovery.conf恢復配置


PostgreSQL recovery.conf恢復配置

這一章描述recovery.conf 文件中可用的設置。它們只應用於恢復期。對於你希望執行的任意后續恢復, 它們必須被重置。一旦恢復已經開始,它們就不能被更改。
recovery.conf中的設置以name = ’value’的形式指定。 每一行指定一個參數。井號(#)表示行的剩余部分是一段注釋。 要在一個參數值中嵌入一個單引號,將其雙寫(”)。
在安裝的share/目錄中提供了一個例子文件, share/recovery.conf.sample。
1. 歸檔恢復設置
restore_command (string)用於獲取 WAL 文件系列的一個已歸檔段的本地 shell 命令。
這個參數是歸檔恢復所必需的,但是對於流復制是可選的。
在該字符串中的任何 %f會被替換為從歸檔中檢索的文件的名字,並且任何%p 會被在服務器上的復制目標路徑名替換(該路徑名是相對於當前工
作目錄的, 即集簇的數據目錄)。任何%r會被包含上一個可用重啟點的文件的名字所替換。
很重要的一點是,該命令只有在成功時才返回一個零退出狀態。 該命令將會被詢問歸檔中不存在的文件名, 當這樣被詢問時它必須返回非零。例子:
restore_command = ’cp /mnt/server/archivedir/%f "%p"’
restore_command = ’copy "C:\\server\\archivedir\\%f" "%p"’ # Windows
archive_cleanup_command (string)
archive_cleanup_command的目的是為清理后備服務器不再需要的舊的已歸檔 WAL 文件提供一種機制。任何%r會被替換為包含最后一個可用重啟點的文件的名稱。
archive_cleanup_command = ’pg_archivecleanup /mnt/server/archivedir %r’
但是注意,如果多個后備服務器正在從同一個歸檔目錄中恢復, 你將需要保證只有當任意服務器都不再需要 WAL 文件時才會刪除它們。
recovery_end_command (string)的目的是為復制或恢復之后的清除提供一種機制。
與archive_cleanup_command中相似,任何%r 會被替換為包含最后一個可用重啟點的文件的名稱
2. 恢復目標設置
recovery_target = ’immediate’指定恢復應該在達到一個一致狀態后盡快結束,即盡早結束。 在從一個在線備份中恢復時,這意味着備份結束的那個點。
recovery_target_name (string)指定恢復將繼續進行的已命名的恢復點 (pg_create_restore_point()創建)。
recovery_target_time (timestamp)這個參數指定恢復將繼續執行的時間戳。精確的停止點也受到recovery_target_inclusive的影響。
recovery_target_xid (string)指定恢復將繼續執行的事務ID。
recovery_target_inclusive (boolean)指定我們是否在指定的恢復目標之后停止(true), 或者在恢復目標之前停止(false)。
recovery_target_timeline (string)指定恢復到一個特定的時間線中。默認值是沿着基礎備份建立時的當前時間線恢復。
將這個參數設置為latest會恢復到該歸檔中能找到的最新的時間線, 這在一個后備服務器中有用。
recovery_target_action (enum) (boolean)指定當到達恢復目標時服務器應該采取什么動作。默認值是pause, 這意味着將暫停恢復。
promote意味着將結束恢復進程並且服務器開始接受連接。 shutdown將在到達恢復目標后停止服務器。
3. 備用服務器設置
standby_mode (boolean)指定是否將PostgreSQL服務器作為一個后備服務器啟動。
如果這個參數為on,當到達已歸檔 WAL 末尾時該服務器將不會停止恢復, 但是將通過使用restore_command獲得
新的 WAL 段以及/或者通過使用 primary_conninfo設置連接到主服務器來嘗試繼續恢復
primary_conninfo (string)指定后備服務器用來連接主服務器的連接字符串。
如果standby_mode為off,這個設置沒有效果。
primary_slot_name (string)可選的指定在通過流復制連接到主服務器時要使用的現有復制槽, 以控制上游節點上的
資源刪除。 如果沒有設置primary_conninfo,則這個設置無效。
trigger_file (string)指定一個觸發器文件,該文件的存在會結束后備機中的恢復。即使沒有設置這個值, 你
也能夠使用pg_ctl promote來提升后備機。 如果standby_mode為off,則這個設置沒有效果。
recovery_min_apply_delay (integer)默認情況下,后備服務器會盡快恢復來自於主服務器的 WAL 記錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM