On Fri, Mar 18, 2011 at 3:29 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > On Fri, 2011-03-18 at 20:19 +0100, Markus Wanner wrote: >> Simon, >> >> On 03/18/2011 05:19 PM, Simon Riggs wrote: >> >>> Simon Riggs<si...@2ndquadrant.com> wrote: >> >>>> In PostgreSQL other users cannot observe the commit until an >> >>>> acknowledgement has been received. >> >> On other nodes as well? To me that means the standby needs to hold back >> COMMIT of an ACKed transaction, until receives a re-ACK from the master, >> that it committed the transaction there. How else could the slave know >> when to commit its ACKed transactions? > > We could do that easily enough, actually, if we wished. > > Do we wish?
Seems like it would be nice, but isn't it dreadfully expensive? Wouldn't you need to prevent the slave from applying the WAL until the master has released the sync rep waiters? You'd need a whole new series of messages back and forth. Since the current solution is intended to support data-loss-free failover, but NOT to guarantee a consistent view of the world from a SQL level, I doubt it's worth paying any price for this. Certainly in the hot_standby=off case it's a nonissue. We might need to think harder about it when and if someone impements an 'apply' level though, because this would seem more of a concern in that case (though I haven't thought through all the details). -- 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