On 2015-11-06 11:42:56 -0500, Robert Haas wrote: > On Fri, Nov 6, 2015 at 2:47 AM, Michael Paquier > <michael.paqu...@gmail.com> wrote: > > I have as well thought a bit about adding a space-related constraint > > on the standby snapshot generated by the bgwriter, so as to not rely > > entirely on the interval of 15s. I finished with the attached that > > uses a check based on CheckPointSegments / 8 to be sure that at least > > this number of segments has been generated since the last checkpoint > > before logging a new snapshot. I guess that's less brittle than the > > last patch. Thoughts? > > I can't see why that would be a good idea. My understanding is that > the logical decoding code needs to get those messages pretty > regularly, and I don't see why that need would be reduced on systems > where CheckPointSegments is large.
Precisely. What I'm thinking of right now is a marker somewhere in shared memory, that tells whether anything worthwhile has happened since the last determination of the redo pointer. Where standby snapshots don't count. That seems like it'd be to maintain going forward than doing precise size calculations like CreateCheckPoint() already does, and would additionally need to handle its own standby snapshot, not to speak of the background ones. Seems like it'd be doable in ReserveXLogInsertLocation(). Whether it's actually worthwhile I'm not all that sure tho. Andres -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers