On Fri, 2011-02-18 at 20:45 -0500, Robert Haas wrote: > On Fri, Feb 18, 2011 at 7:06 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > > The patch is very lite touch on a few areas of code, plus a chunk of > > specific code, all on master-side. Pretty straight really. I'm sure > > problems will be found, its not long since I completed this; thanks to > > Daniel Farina for your help with patch assembly. > > This looks like it's in far better shape than the previous version. > Thanks to you and Dan for working on it. > > As you have this coded, enabling synchronous_replication forces all > transactions to commit synchronously. This means that, when > synchronous_replication=on, you get synchronous_commit=on behavior > even if you have synchronous_commit=off. I'd prefer to see us go the > other way, and say that you can only get synchronous replication when > you're also getting synchronous commit.
First, we should be clear to explain that you are referring to the fact that the request synchronous_commit = off synchronous_replication = on makes no sense in the way the replication system is currently designed, even though it is a wish-list item to make it work in 9.2+ Since that combination makes no sense we need to decide how will we react when it is requested. I think fail-safe is the best way. We should make the default the safe way and allow performance options in non-default paths. Hence the above combination of options is taken in the patch to be the same as synchronous_commit = on synchronous_replication = on If you want performance, you can still get it with synchronous_commit = off synchronous_replication = off which does have meaning So the way the patch is coded makes most sense for a safety feature. I think it does need to be documented also. Must fly now... -- Simon Riggs http://www.2ndQuadrant.com/books/ PostgreSQL Development, 24x7 Support, Training and Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers