Postgresql
PostgreSQL 中的多個歸檔命令
我有 PostgreSQL 的複制,所以我想設置
archive_command = 'cp %p /var/lib/postgresql/11/main/archive/%f'
但我也想將 WAL 文件保存到另一個安全的地方:S3。那麼可以有多個
archive_command
s嗎?我可以將此命令放在從屬伺服器上,以將 wal 文件推送到 S3 而不是主伺服器上嗎?我希望主伺服器對性能的影響較小。
您不需要多個
archive_command
s:archive_command = 'cp %p /.../%f && (command to archive to S3)'
由
&&
shell 解釋。如果cp
有一個非零返回碼,那將是archive_command
. 如果結果為 0(成功),則執行第二條命令,其返回碼將為archive_command
.您也可以將存檔到 S3 推遲到備用伺服器,但是您必須在
archive_mode = always
那裡進行設置。缺點是主備上的配置會有所不同,這使得故障轉移更加複雜。將文件歸檔到 S3 的命令是否真的會對性能產生重大影響?