Postgresql

PostgreSQL 中的多個歸檔命令

  • November 4, 2019

我有 PostgreSQL 的複制,所以我想設置archive_command = 'cp %p /var/lib/postgresql/11/main/archive/%f'但我也想將 WAL 文件保存到另一個安全的地方:S3。

那麼可以有多個archive_commands嗎?我可以將此命令放在從屬伺服器上,以將 wal 文件推送到 S3 而不是主伺服器上嗎?我希望主伺服器對性能的影響較小。

您不需要多個archive_commands:

archive_command = 'cp %p /.../%f && (command to archive to S3)'

&&shell 解釋。如果cp有一個非零返回碼,那將是archive_command. 如果結果為 0(成功),則執行第二條命令,其返回碼將為archive_command.

您也可以將存檔到 S3 推遲到備用伺服器,但是您必須在archive_mode = always那裡進行設置。缺點是主備上的配置會有所不同,這使得故障轉移更加複雜。將文件歸檔到 S3 的命令是否真的會對性能產生重大影響?

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