如果您随后进行快照和 rsync,则在没有 pg_start_backup 的情况下初始 rsync 是否安全?

And*_*tas 5 postgresql replication

试图想办法在不停机的情况下加速从属创建。

正常的做法是:

  1. pg_start_backup
  2. rsync 数据库文件
  3. pg_stop_backup
  4. rsync wal 文件并启动 slave

由于 2 在网络上可能需要很长时间,因此:

  1. 同步
  2. pg_start_backup
  3. 再次同步
  4. pg_stop_backup
  5. rsync wal 文件并启动 slave

?

Ter*_*ton 4

是的,完全安全。随后在快照条件下执行的rsync将确保数据使用delta方法正确对齐。

人们可能希望通过使用 --delete 选项来确保不积累不相关的数据文件(仔细考虑您要排除的内容),但这主要是一个单独的问题。