6

Trying to think of ways to speed up slave creation without master downtime.

The normal way of doing is:

  1. pg_start_backup
  2. rsync database files
  3. pg_stop_backup
  4. rsync wal files and start slave

Since 2 can take a long time over the network, is it safe to:

  1. rsync
  2. pg_start_backup
  3. rsync again
  4. pg_stop_backup
  5. rsync wal files and start slave

?

3
  • I never heard from pg_start_backup. I backup postgresql by pg_dump-ing it in directory format, and the saving it into git.
    – peterh
    Commented Nov 16, 2018 at 16:56
  • 1
    @user259412 pg_dump is pretty much useless for creating a slave — which is what the asker is wanting to do. pg_dump gets you a logical copy of the data, whereas master-slave replication relies on the data being physically stored in the same way — otherwise the differences transmitted won’t apply. Commented Oct 19, 2019 at 4:15
  • @Colin'tHart Sorry, I thought he is about backuping postgresql and not about clustering.
    – peterh
    Commented Oct 19, 2019 at 20:54

1 Answer 1

4

Yes, completely safe. The subsequent rsync performed under snapshot conditions will ensure that the data is properly aligned using the delta method.

One might want to ensure that there isn't an accumulation of irrelevant data files by using the --delete option (think carefully about what you are excluding) but this is a mostly separate issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.