Postgresql

對於 archive_command 使用腳本而不是命令

  • September 27, 2014

我想創建一個配置來獲得 PostgreSQL HA。在我的主人中,我想用這個配置一個 postgresql.conf 文件:

archive_command = 'local_backup_script.sh "%p" "%f"'

代替:

archive_command = 'cp "%p" /path/to/archive/"%f"'

然後我有一個疑問:我必須把腳本放在哪裡?

你可以把它放在任何你喜歡的地方,只要postgres使用者有執行它的權限,並且有權限 cd 到它所在的目錄。

我通常把它放進去,/usr/local/bin除非我在一個有版本化腳本儲存庫的系統上工作,在這種情況下它就在那裡——比如/opt/mycompany-scripts/postgresql/myarchivescript.sh.

我建議使用完全合格的路徑來使其位置明顯,例如

archive_command = '/usr/local/bin/pg_archive_wal.sh "%p" "%f"'

(稱其為“備份腳本”具有誤導性;它根本不做備份,它只是歸檔 WAL,這可能是備份或複製過程的一部分)

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