连续归档:是否可以使用多台机器?

Col*_*ers 7 postgresql

是否可以使用archive_command发送到多台机器?它是否像用 a 分隔一样简单,&&因为它本质上只是一个命令行?

command1 && command2
Run Code Online (Sandbox Code Playgroud)

我认为如果一个命令失败,这可能会产生不良影响,例如,如果command1失败则command2不会运行;如果command2失败,它会在整个过程中返回非零值,Postgres 会重新尝试发送 WAL,这意味着它会重新运行command1

我希望有一个更正式的解决方案来解决这个问题。我的目标是在数据中心内部备份一份,在数据中心外部备份一份。

Try*_*tøl 3

首先,在创建这样的命令时,我总是创建一个包装脚本。这使得调试命令变得更容易,而无需通知 postgres 重新加载任何内容。这也使得从归档器脚本中包含日志记录变得更加容易。

您首先需要弄清楚您希望如何复制数据。您现在执行此操作的方式似乎没问题,至少如果您在复制之前检查目标文件是否不存在的话。这样它就可以根据需要重新运行多次,并且它会尝试将其复制到外部位置。

  • 感谢你的回答。Postgres 还有以下关于备份脚本的内容,这是推荐的做法 http://www.postgresql.org/docs/current/static/continuous-archiving.html#BACKUP-SCRIPTS (2认同)