Re: [PATCHES] Restartable Recovery
От | Tom Lane |
---|---|
Тема | Re: [PATCHES] Restartable Recovery |
Дата | |
Msg-id | 671.1154970338@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [PATCHES] Restartable Recovery (Simon Riggs <simon@2ndquadrant.com>) |
Ответы |
Re: [PATCHES] Restartable Recovery
|
Список | pgsql-hackers |
Simon Riggs <simon@2ndquadrant.com> writes: > I've implemented this for BTree, GIN, GIST using an additional rmgr > function bool rm_safe_restartpoint(void) > ... > "Recovery checkpoints" are now renamed "restartpoints" to avoid > confusion with checkpoints. So checkpoints occur during normal > processing (only) and restartpoints occur during recovery (only). Applied with revisions. As submitted the patch pushed backup_label out of the way immediately upon reading it, which is no good: you need to be sure that the starting checkpoint location is written to pg_control first, else an immediate crash would allow the thing to try to start from whatever checkpoint is listed in the backed-up pg_control. Also, the minimum recovery stopping point that's obtained using the label file still has to be enforced if there's a crash during the replay sequence. I felt the best way to do that was to copy the minimum stopping point into pg_control, so that's what the code does now. Also, as I mentioned earlier, I think that doing restartpoints on the basis of elapsed time is simpler and more useful than having an explicit distinction between "normal" and "standby" modes. We can always invent a standby_mode flag later if we need one, but we don't need it for this. regards, tom lane
В списке pgsql-hackers по дате отправления: