Re: pg_basebackup from cascading standby after timeline switch
От | Amit kapila |
---|---|
Тема | Re: pg_basebackup from cascading standby after timeline switch |
Дата | |
Msg-id | 6C0B27F7206C9E4CA54AE035729E9C383BEA50D6@szxeml509-mbx обсуждение исходный текст |
Ответ на | Re: pg_basebackup from cascading standby after timeline switch (Heikki Linnakangas <hlinnakangas@vmware.com>) |
Список | pgsql-hackers |
On Friday, December 21, 2012 6:24 PM Heikki Linnakangas wrote: On 17.12.2012 18:58, Magnus Hagander wrote: > On Mon, Dec 17, 2012 at 5:19 PM, Tom Lane<tgl@sss.pgh.pa.us> wrote: >> Heikki Linnakangas<hlinnakangas@vmware.com> writes: >>>> I'm not happy with the fact that we just ignore the problem in a backup >>>> taken from a standby, silently giving the user a backup that won't start >>>> up. Why not include the timeline history file in the backup? >> >>> +1. I was not aware that we weren't doing that --- it seems pretty >>> foolish, especially since as you say they're tiny. > >> Yeah, +1. That should probably have been a part of the whole >> "basebackup from slave" patch, so it can probably be considered a >> back-patchable bugfix in itself, no? >Yes, this should be backpatched to 9.2. I came up with the attached. > One solution to that would be to pay more attention to the timelines to > include WAL from. basebackup.c could read the timeline history file, to > see exactly where the timeline switches happened, and then construct the > filename of each WAL segment using the correct timeline id. Another > approach would be to do readdir() on pg_xlog, and include all WAL files, > regardless of timeline IDs, that fall in the right XLogRecPtr range. The > latter seems easier to backpatch. I also think approach implemented by you is more better. One small point, shouldn't it check (walsender_shutdown_requested || walsender_ready_to_stop) during ReadDir of pg_xlog similarto what is done in ReadDir() in SendDir? With Regards, Amit Kapila.
В списке pgsql-hackers по дате отправления: