Re: [HACKERS] Restricting maximum keep segments by repslots
От | Alvaro Herrera |
---|---|
Тема | Re: [HACKERS] Restricting maximum keep segments by repslots |
Дата | |
Msg-id | 20200331171836.GA7973@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: [HACKERS] Restricting maximum keep segments by repslots (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Restricting maximum keep segments by repslots
Re: [HACKERS] Restricting maximum keep segments by repslots |
Список | pgsql-hackers |
On 2020-Mar-31, Alvaro Herrera wrote: > I'm not sure if I explained my proposal clearly. What if > XLogGetLastRemovedSegno returning zero means that every segment is > valid? We don't need to scan pg_xlog at all. I mean this: XLogSegNo FindOldestXLogFileSegNo(void) { XLogSegNo segno = XLogGetLastRemovedSegno(); /* this is the only special case we need to care about */ if (segno == 0) return some-value; return segno + 1; } ... and that point one can further note that a freshly initdb'd system (no file has been removed) has "1" as the first file. So when segno is 0, you can return 1 and all should be well. That means you can reduce the function to this: XLogSegNo FindOldestXLogFileSegNo(void) { return XLogGetLastRemovedSegno() + 1; } The tests still pass with this coding. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: