On 29 March 2017 at 23:13, Simon Riggs <[email protected]> wrote: > On 29 March 2017 at 10:17, Craig Ringer <[email protected]> wrote: >> On 29 March 2017 at 16:44, Craig Ringer <[email protected]> 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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
