是否可以使用archive_command
发送到多台机器?它是否像用 a 分隔一样简单,&&
因为它本质上只是一个命令行?
command1 && command2
Run Code Online (Sandbox Code Playgroud)
我认为如果一个命令失败,这可能会产生不良影响,例如,如果command1
失败则command2
不会运行;如果command2
失败,它会在整个过程中返回非零值,Postgres 会重新尝试发送 WAL,这意味着它会重新运行command1
。
我希望有一个更正式的解决方案来解决这个问题。我的目标是在数据中心内部备份一份,在数据中心外部备份一份。
首先,在创建这样的命令时,我总是创建一个包装脚本。这使得调试命令变得更容易,而无需通知 postgres 重新加载任何内容。这也使得从归档器脚本中包含日志记录变得更加容易。
您首先需要弄清楚您希望如何复制数据。您现在执行此操作的方式似乎没问题,至少如果您在复制之前检查目标文件是否不存在的话。这样它就可以根据需要重新运行多次,并且它会尝试将其复制到外部位置。