On Tue, Mar 8, 2011 at 10:06 AM, Fujii Masao <masao.fu...@gmail.com> wrote: > How should the backends waiting for replication behave when > synchrnous_standby_names > is set to '' and the configuration file is reloaded? Now they keep > waiting for the ACK from the > standby. But I think that it's more natural for them to get out of the > wait state and complete > the transaction in that case. If we'll change them in that way, we > would no longer need > something like "pg_ctl standalone" which I mentioned in another thread. > Thought?
I think so. Looking at assign_synchronous_standby_names, the following code just looks wrong: if (doit && list_length(elemlist) > 0) sync_standbys_defined = true; Once sync_standbys_defined becomes true, there's no way for it to ever become false again. That can't be right. That means that if you disable sync rep by zeroing out synchronous_standby_names, backends that already existed at the time you made the change will continue to act as though sync rep is enabled until they exit. -- 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