Re: Include WAL in base backup
От | Fujii Masao |
---|---|
Тема | Re: Include WAL in base backup |
Дата | |
Msg-id | AANLkTimx-hbNzn2v-nMeyG03w7Vhup6fx+eqwrjdPB+F@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Include WAL in base backup (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
Ответы |
Re: Include WAL in base backup
|
Список | pgsql-hackers |
On Sat, Jan 29, 2011 at 6:02 AM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote: > On 27.01.2011 06:44, Fujii Masao wrote: >> >> + XLByteToSeg(endptr, endlogid, endlogseg); >> <snip> >> + /* Have we reached our stop position yet? */ >> + if (logid> endlogid || >> + (logid == endlogid&& logseg>= endlogseg)) >> + break; >> >> What I said in upthread is wrong. We should use XLByteToPrevSeg >> for endptr and check "logseg> endlogseg". Otherwise, if endptr is >> not a boundary byte, endlogid/endlogseg indicates the last >> necessary WAL file, but it's not sent. > > We should use XLByteToPrevSeg, but I believe >= is still correct. > logid/logseg is the last WAL segment we've successfully sent, and > endlogif/endlogid is the last WAL segment we need to send. When they are the > same, we're done. Really? logid/logseg is incremented just before the check as follows. So, when they are the same, the WAL file which logid/logseg indicates has not been sent yet. Am I missing something? + /* Advance to the next WAL file */ + NextLogSeg(logid, logseg); + + /* Have we reached our stop position yet? */ + if (logid > endlogid || + (logid == endlogid && logseg >= endlogseg)) + break; Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
В списке pgsql-hackers по дате отправления: