Received: from maia.hub.org (maia-4.hub.org [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id 7293E6323AD for ; Mon, 26 Apr 2010 16:10:45 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 60675-07 for ; Mon, 26 Apr 2010 19:10:35 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from momjian.us (momjian.us [70.90.9.53]) by mail.postgresql.org (Postfix) with ESMTP id C1F50631E46 for ; Mon, 26 Apr 2010 16:10:34 -0300 (ADT) Received: (from bruce@localhost) by momjian.us (8.11.6/8.11.6) id o3QJAZ019979 for pgsql-docs@postgresql.org; Mon, 26 Apr 2010 15:10:35 -0400 (EDT) From: Bruce Momjian Message-Id: <201004261910.o3QJAZ019979@momjian.us> Subject: pgpool with master/slave To: PostgreSQL-documentation Date: Mon, 26 Apr 2010 15:10:35 -0400 (EDT) X-Mailer: ELM [version 2.4ME+ PL124 (25)] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ELM1272309035-993-0_" Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.91 tagged_above=-10 required=5 tests=BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201004/84 X-Sequence-Number: 5483 --ELM1272309035-993-0_ Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="US-ASCII" I have added the attached documentation patch to explain how master/slave can be combined with pgpool to avoid the problems with non-deterministic functions. You can read more details here: http://momjian.us/main/blogs/pgblog/2010.html#April_26_2010_2 -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com --ELM1272309035-993-0_ Content-Transfer-Encoding: 7bit Content-Type: text/x-diff Content-Disposition: inline; filename="/rtmp/diff" Index: doc/src/sgml/high-availability.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/high-availability.sgml,v retrieving revision 1.62 diff -c -c -r1.62 high-availability.sgml *** doc/src/sgml/high-availability.sgml 21 Apr 2010 03:32:53 -0000 1.62 --- doc/src/sgml/high-availability.sgml 26 Apr 2010 18:06:37 -0000 *************** *** 199,205 **** SQL queries are broadcast (and not actual modified rows). If this is unacceptable, either the middleware or the application must query such values from a single server and then use those ! values in write queries. Also, care must be taken that all transactions either commit or abort on all servers, perhaps using two-phase commit ( and . --- 199,209 ---- SQL queries are broadcast (and not actual modified rows). If this is unacceptable, either the middleware or the application must query such values from a single server and then use those ! values in write queries. Another option is to use this replication ! option with a traditional master-slave setup, i.e. data modification ! queries are sent only to the master and are propogated to the ! slaves via master-slave replication, not by the replication ! middleware. Care must also be taken that all transactions either commit or abort on all servers, perhaps using two-phase commit ( and . --ELM1272309035-993-0_--