On Wed, Dec 15, 2010 at 4:20 AM, Simon Riggs <si...@2ndquadrant.com> wrote: > On Sat, 2010-11-13 at 19:16 -0500, Robert Haas wrote: > >> 3. The third patch (relax-sync-commit-v1) allows asynchronous commit >> even when synchronous_commit=on if the transaction has not written >> WAL. Of course, a read-only transaction won't even have an XID and >> therefore won't need a commit record, so what this is really doing is >> allowing transactions that have written only to temp - or unlogged - >> tables to commit asynchronously. > > I like this, great idea. > > Avoiding the commit record entirely will break Hot Standby though, since > we rely on the assumption that all xids that are assigned are also > logged. The xids would be "known assigned", yet since they never > actually appear they will clog up the machinery (pun unintended).
Uggh, that's a really, really bad pun. I made the same observation to Tom somewhere-or-other (must have been a different thread because I don't see it on this one), along with the further observation that we actually could suppress the commit record entirely if wal_level < hot_standby, but I'm not sure there's enough benefit to doing that to worry about the additional complexity. Changing it from a foreground flush to a background flush already wins so much that I don't really see the point of doing anything further. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers