On 29 March 2017 at 23:13, Simon Riggs <simon.ri...@2ndquadrant.com> wrote: > On 29 March 2017 at 10:17, Craig Ringer <cr...@2ndquadrant.com> wrote: >> On 29 March 2017 at 16:44, Craig Ringer <cr...@2ndquadrant.com> wrote: >> >>> * Split oldestCatalogXmin tracking into separate patch >> >> Regarding this, Simon raised concerns about xlog volume here. >> >> It's pretty negligible. >> >> We only write a new record when a vacuum runs after catalog_xmin >> advances on the slot with the currently-lowest catalog_xmin (or, if >> vacuum doesn't run reasonably soon, when the bgworker next looks). > > I'd prefer to slow things down a little, not be so eager. > > If we hold back update of the catalog_xmin until when we run > GetRunningTransactionData() we wouldn't need to produce any WAL > records at all AND we wouldn't need to have VACUUM do > UpdateOldestCatalogXmin(). Bgwriter wouldn't need to perform an extra > task. > > That would also make this patch about half the length it is. > > Let me know what you think.
Good idea. We can always add a heuristic later to make xl_running_xacts get emitted more often at high transaction rates if it's necessary. Patch coming soon. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers