<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hello,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

I&#39;m trying to implement pgpool-II clustering + replication and am experiencing <i>very</i> poor performance.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

Any assistance would be greatly appreciated.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>Description</b>:</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">When pgpool is in front of PostgreSQL there is a significant loss in performance.</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>Troubleshooting</b>:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">1) Try different times of benchmarks:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* I have run pgbench (with and without -C), sysbench and real world SELECT statements.</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">2) Adjustment to connections, this hasn&#39;t made any noticeable performance difference from defaults.</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">3) Run pgpool with a single PostgreSQL server rather than a cluster of two.</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* I experience the exact same performance with a single node + pgpool as with a two node cluster.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">2) Monitor hardware / VM performance:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* No iowait showing in vmstat</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">* CPU 1 is around 90%, 2 around 70%, 3 around 50% etc...</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">
<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>Environment</b>:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<b>Server</b>: Debian 7, x64 (Virtualised on XenServer 6.2), 8x Xen E5 2560 vCores, 8GB ECC RAM<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>PG version</b>: PostgreSQL 9.3</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<div class="gmail_default"><b>PG-Pool Package</b>: 3.3.1-1.pgdg70+1<br></div><div><b>Storage</b>: iSCSI SAN (Shared), 12x 15K SAS Spindles, 10GbE connection<br></div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<b>Network</b>: 2x 10GbE</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>Layout</b>: 2x PostgreSQL servers (int-pgca-01, int-pgca-02), pgpool installed on the same server, <u>port 5432 is directly to PostgreSQL</u>, <u>5433 is to pgpool</u><br>

</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><b>Performance Information</b>:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># Clustered Test</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">postgres@int-pgca-01:~$ pgbench -j 8 -T 120 -c 16 -S -p 5433 bench_replication</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">starting vacuum...end.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">transaction type: SELECT only</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">scaling factor: 75</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">query mode: simple</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of clients: 16</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of threads: 8</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">duration: 120 s</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of transactions actually processed: 3749277</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">tps = 31243.529780 (including connections establishing)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">tps = 31254.610781 (excluding connections establishing)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># Unclustered Test</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">postgres@int-pgca-01:~$ pgbench -j 8 -T 120 -c 16 -S -p 5432 bench_replication</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">starting vacuum...end.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">transaction type: SELECT only</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">scaling factor: 75</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">query mode: simple</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of clients: 16</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of threads: 8</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">duration: 120 s</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">number of transactions actually processed: 6268572</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">tps = 52237.871024 (including connections establishing)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">tps = 52253.665169 (excluding connections establishing) </span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"> </span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">--</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># Clustered Test</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">root@int-pgca-01:~/0.4/sysbench# ./sysbench --pgsql-user=postgres --pgsql-password=password --pgsql-port=5433 --pgsql-db=sysbench --pgsql-host=localhost --db-driver=pgsql --oltp-read-only=on --oltp-test-mode=simple --init-rng --max-requests=0 --max-time=120 --num-threads=8 run --test=oltp</span><br>


<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">sysbench 0.4.12:  multi-threaded system evaluation benchmark</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Running the test with following options:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Number of threads: 8</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Initializing random number generator from timer.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Random number generator seed is 0 and will be ignored</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Doing OLTP test.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Running simple OLTP test</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Doing read-only test</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using &quot;BEGIN&quot; for starting transactions</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using auto_inc on the id column</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Threads started!</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Time limit exceeded, exiting...</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">(last message repeated 7 times)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Done.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">OLTP test statistics:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    queries performed:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        read:                            683690</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        write:                           0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        other:                           0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        total:                           683690</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    transactions:                        683690 (5697.35 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    deadlocks:                           0      (0.00 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    read/write requests:                 683690 (5697.35 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    other operations:                    0      (0.00 per sec.)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">General statistics:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total time:                          120.0013s</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total number of events:              683690</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total time taken by event execution: 953.1451</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    response time:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         min:                                  0.44ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         avg:                                  1.39ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         max:                                 43.94ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         approx.  95 percentile:               2.28ms</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Threads fairness:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    events (avg/stddev):           85461.2500/27464.93</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    execution time (avg/stddev):   119.1431/0.27</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># Unclustered Test</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">root@int-pgca-01:~/0.4/sysbench# ./sysbench --pgsql-user=postgres --pgsql-password=password --pgsql-port=5432 --pgsql-db=sysbench --pgsql-host=localhost --db-driver=pgsql --oltp-read-only=on --oltp-test-mode=simple --init-rng --max-requests=0 --max-time=120 --num-threads=8 run --test=oltp</span><br>


<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">sysbench 0.4.12:  multi-threaded system evaluation benchmark</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Running the test with following options:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Number of threads: 8</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Initializing random number generator from timer.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Random number generator seed is 0 and will be ignored</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Doing OLTP test.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Running simple OLTP test</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Doing read-only test</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using &quot;BEGIN&quot; for starting transactions</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Using auto_inc on the id column</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Threads started!</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Time limit exceeded, exiting...</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">(last message repeated 7 times)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Done.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">OLTP test statistics:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    queries performed:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        read:                            5037163</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        write:                           0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        other:                           0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">        total:                           5037163</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    transactions:                        5037163 (41976.19 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    deadlocks:                           0      (0.00 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    read/write requests:                 5037163 (41976.19 per sec.)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    other operations:                    0      (0.00 per sec.)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">General statistics:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total time:                          120.0005s</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total number of events:              5037163</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    total time taken by event execution: 922.9731</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    response time:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         min:                                  0.12ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         avg:                                  0.18ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         max:                                  7.78ms</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">         approx.  95 percentile:               0.25ms</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">Threads fairness:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    events (avg/stddev):           629645.3750/1562.43</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">    execution time (avg/stddev):   115.3716/0.02 </span><br>
<span style="font-size:13px;font-family:Arial"></span><br><br><b>Configuration Information</b>:<br>
<span style="font-size:13px;font-family:Arial"></span><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># ----------------------------</span><br>


<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># pgPool-II configuration file</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># ----------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># This file consists of lines of the form:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#   name = value</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># Whitespace may be used.  Comments are introduced with &quot;#&quot; anywhere on a line.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># The complete list of parameter names and allowed values can be found in the</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># pgPool-II documentation.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># This file is read on server startup and when the server receives a SIGHUP</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># signal.  If you edit the file on a running system, you have to SIGHUP the</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># server for the changes to take effect, or use &quot;pgpool reload&quot;.  Some</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># parameters, which are marked below, require a server shutdown and restart to</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># take effect.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># CONNECTIONS</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - pgpool Connection Settings -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">listen_addresses = &#39;*&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Host name or IP address to listen on:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # &#39;*&#39; for all, &#39;&#39; for no TCP/IP connections</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">port = 5433</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Port number</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">socket_dir = &#39;/var/run/postgresql&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Unix domain socket path</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # The Debian package defaults to</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # /var/run/postgresql</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - pgpool Communication Manager Connection Settings -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">pcp_port = 9898</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Port number for pcp</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">pcp_socket_dir = &#39;/var/run/postgresql&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Unix domain socket path for pcp</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # The Debian package defaults to</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # /var/run/postgresql</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Backend Connection Settings -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_hostname0 = &#39;int-pgca-01&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_port0 = 5432</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_weight0 = 1</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_data_directory0 = &#39;/data&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_port0 = 5432</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_weight0 = 1</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_flag0 = &#39;ALLOW_TO_FAILOVER&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_port0 = 5432</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">backend_weight0 = 1</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Authentication -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">enable_pool_hba = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Use pool_hba.conf for client authentication</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">authentication_timeout = 60</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Delay in seconds to complete client authentication</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no timeout.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - SSL Connections -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ssl = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Enable SSL support</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ssl_key = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Path to the SSL private key file</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ssl_cert = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Path to the SSL public certificate file</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ssl_ca_cert = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Path to a single PEM format file</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # containing CA root certificate(s)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ssl_ca_cert_dir = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Directory containing CA root certificate(s)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># POOLS</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Pool size -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">num_init_children = 64</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Number of pools</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">max_pool = 8</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Number of connections per pool</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Life time -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">child_life_time = 300</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Pool exits after being idle for this many seconds</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">child_max_connections = 200</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Pool exits after receiving that many connections</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no exit</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">connection_life_time = 120</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Connection to backend closes after being idle for this many seconds</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no close</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">client_idle_limit = 25</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Client is disconnected after being idle for that many seconds</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (even inside an explicit transactions!)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no disconnection</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># LOGS</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Where to log -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_destination = &#39;syslog&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Where to log</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Valid values are combinations of stderr,</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # and syslog. Default to stderr.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - What to log -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">print_timestamp = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Print timestamp on each line</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_connections = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Log connections</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_hostname = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Hostname will be shown in ps status</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # and in logs if connections are logged</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_statement = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Log all statements</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_per_node_statement = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Log all statements</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # with node and backend informations</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">log_standby_delay = &#39;none&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Log standby delay</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Valid values are combinations of always,</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # if_over_threshold, none</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Syslog specific -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">syslog_facility = &#39;LOCAL0&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Syslog local facility. Default to LOCAL0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">syslog_ident = &#39;pgpool&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Syslog program identification string</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Default to &#39;pgpool&#39;</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Debug -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">debug_level = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Debug message verbosity level</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no message, 1 or more mean verbose</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># FILE LOCATIONS</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">pid_file_name = &#39;/var/run/postgresql/pgpool.pid&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # PID file name</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">logdir = &#39;/var/log/postgresql&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Directory of pgPool status file</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># CONNECTION POOLING</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">connection_cache = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activate connection pools</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Semicolon separated list of queries</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # to be issued at the end of a session</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # The default is for 8.3 and later</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">reset_query_list = &#39;ABORT; DISCARD ALL&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # The following one is for 8.2 and before</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#reset_query_list = &#39;ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT&#39;</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># REPLICATION MODE</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">replication_mode = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activate replication mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">replicate_select = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Replicate SELECT statements</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # when in replication or parallel mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # replicate_select is higher priority than</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # load_balance_mode.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">insert_lock = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Automatically locks a dummy row or a table</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # with INSERT statements to keep SERIAL data</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # consistency</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Without SERIAL, no lock will be issued</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">lobj_lock_table = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # When rewriting lo_creat command in</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # replication mode, specify table name to</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # lock</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Degenerate handling -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">replication_stop_on_mismatch = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # On disagreement with the packet kind</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # sent from backend, degenerate the node</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # which is most likely &quot;minority&quot;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # If off, just force to exit this session</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">failover_if_affected_tuples_mismatch = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # On disagreement with the number of affected</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # tuples in UPDATE/DELETE queries, then</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # degenerate the node which is most likely</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # &quot;minority&quot;.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # If off, just abort the transaction to</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # keep the consistency</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># LOAD BALANCING MODE</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">load_balance_mode = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activate load balancing mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">ignore_leading_white_space = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Ignore leading white spaces of each query</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">white_function_list = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Comma separated list of function names</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # that don&#39;t write to database</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Regexp are accepted</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">black_function_list = &#39;nextval,setval&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Comma separated list of function names</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # that write to database</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Regexp are accepted</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># MASTER/SLAVE MODE</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">master_slave_mode = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activate master/slave mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">master_slave_sub_mode = &#39;slony&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Master/slave sub mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Valid values are combinations slony or</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # stream. Default is slony.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Streaming -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">sr_check_period = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Streaming replication check period</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Disabled (0) by default</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">sr_check_user = &#39;nobody&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Streaming replication check user</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # This is necessary even if you disable</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # streaming replication delay check with</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # sr_check_period = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">sr_check_password = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Password for streaming replication check user</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">delay_threshold = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Threshold before not dispatching query to standby node</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Unit is in bytes</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Disabled (0) by default</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - Special commands -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">follow_master_command = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Executes this command after master failover</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Special values:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %d = node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %h = host name</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %p = port number</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %D = database cluster path</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %m = new master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %H = hostname of the new master node</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %M = old master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %P = old primary node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %% = &#39;%&#39; character</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># PARALLEL MODE AND QUERY CACHE</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">parallel_mode = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activates parallel query mode</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">enable_query_cache = off</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Activates query cache</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">pgpool2_hostname = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Set pgpool2 hostname</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># - System DB info -</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_hostname  = &#39;localhost&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_port = 5432</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_dbname = &#39;pgpool&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_schema = &#39;pgpool_catalog&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_user = &#39;pgpool&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">system_db_password = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # (change requires restart)</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># HEALTH CHECK</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">health_check_period = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Health check period</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Disabled (0) by default</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">health_check_timeout = 20</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Health check timeout</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no timeout</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">health_check_user = &#39;nobody&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Health check user</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">health_check_password = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # This parameter is not yet implemented.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Password for health check user</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># FAILOVER AND FAILBACK</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">failover_command = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Executes this command at failover</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Special values:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %d = node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %h = host name</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %p = port number</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %D = database cluster path</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %m = new master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %H = hostname of the new master node</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %M = old master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %P = old primary node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %% = &#39;%&#39; character</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">failback_command = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Executes this command at failback.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Special values:</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %d = node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %h = host name</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %p = port number</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %D = database cluster path</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %m = new master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %H = hostname of the new master node</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %M = old master node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %P = old primary node id</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   #   %% = &#39;%&#39; character</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">fail_over_on_backend_error = on</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Initiates failover when writing to the</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # backend communication socket fails</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # This is the same behaviour of pgpool-II</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 2.2.x and previous releases</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # If set to off, pgpool will report an</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # error and disconnect the session.</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># ONLINE RECOVERY</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">recovery_user = &#39;nobody&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Online recovery user</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">recovery_password = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Online recovery password</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">recovery_1st_stage_command = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Executes a command in first stage</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">recovery_2nd_stage_command = &#39;&#39;</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Executes a command in second stage</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">recovery_timeout = 90</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Timeout in seconds to wait for the</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # recovering node&#39;s postmaster to start up</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no wait</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">client_idle_limit_in_recovery = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Client is disconnected after being idle</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # for that many seconds in the second stage</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # of online recovery</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no disconnection</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # -1 means immediate disconnection</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># MEMORY CACHE</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">memory_cache_enable                  = on</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">memqcache_method                     = &#39;shmem&#39;</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">memqcache_expire                     = 0</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">memqcache_auto_cache_invalidation    = on</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">memqcache_maxcache                   = 1</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#white_memqcache_table_list</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#black_memqcache_table_list</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#memqcache_oiddir</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;"># OTHERS</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">#------------------------------------------------------------------------------</span><br>
<span style="font-size:13px;font-family:Arial"></span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">relcache_expire = 0</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # Life time of relation cache in seconds.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # 0 means no cache expiration(the default).</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # The relation cache is used for cache the</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # query result against PostgreSQL system</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # catalog to obtain various information</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # including table structures or if it&#39;s a</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # temporary table or not. The cache is</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # maintained in a pgpool child local memory</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # and being kept as long as it survives.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # If someone modify the table by using</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # ALTER TABLE or some such, the relcache is</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # not consistent anymore.</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # For this purpose, cache_expiration</span><br>
<span style="font-size:13px;font-family:&#39;Andale Mono&#39;">                                   # controls the life time of the cache.</span><br></div></div>