1# ----------------------------
2# pgPool-II configuration file
3# ----------------------------
4#
5# This file consists of lines of the form:
6#
7#   name = value
8#
9# Whitespace may be used.  Comments are introduced with "#" anywhere on a line.
10# The complete list of parameter names and allowed values can be found in the
11# pgPool-II documentation.
12#
13# This file is read on server startup and when the server receives a SIGHUP
14# signal.  If you edit the file on a running system, you have to SIGHUP the
15# server for the changes to take effect, or use "pgpool reload".  Some
16# parameters, which are marked below, require a server shutdown and restart to
17# take effect.
18#
19
20#------------------------------------------------------------------------------
21# BACKEND CLUSTERING MODE
22# Choose one of: 'streaming_replication', 'native_replication',
23#	'logical_replication', 'slony', 'raw' or 'snapshot_isolation'
24# (change requires restart)
25#------------------------------------------------------------------------------
26
27backend_clustering_mode = 'streaming_replication'
28
29#------------------------------------------------------------------------------
30# CONNECTIONS
31#------------------------------------------------------------------------------
32
33# - pgpool Connection Settings -
34
35#listen_addresses = 'localhost'
36                                   # Host name or IP address to listen on:
37                                   # '*' for all, '' for no TCP/IP connections
38                                   # (change requires restart)
39#port = 9999
40                                   # Port number
41                                   # (change requires restart)
42#socket_dir = '/tmp'
43                                   # Unix domain socket path
44                                   # The Debian package defaults to
45                                   # /var/run/postgresql
46                                   # (change requires restart)
47#reserved_connections = 0
48                                   # Number of reserved connections.
49                                   # Pgpool-II does not accept connections if over
50                                   # num_init_chidlren - reserved_connections.
51
52
53# - pgpool Communication Manager Connection Settings -
54
55#pcp_listen_addresses = '*'
56                                   # Host name or IP address for pcp process to listen on:
57                                   # '*' for all, '' for no TCP/IP connections
58                                   # (change requires restart)
59#pcp_port = 9898
60                                   # Port number for pcp
61                                   # (change requires restart)
62#pcp_socket_dir = '/tmp'
63                                   # Unix domain socket path for pcp
64                                   # The Debian package defaults to
65                                   # /var/run/postgresql
66                                   # (change requires restart)
67#listen_backlog_multiplier = 2
68                                   # Set the backlog parameter of listen(2) to
69                                   # num_init_children * listen_backlog_multiplier.
70                                   # (change requires restart)
71#serialize_accept = off
72                                   # whether to serialize accept() call to avoid thundering herd problem
73                                   # (change requires restart)
74
75# - Backend Connection Settings -
76
77#backend_hostname0 = 'host1'
78                                   # Host name or IP address to connect to for backend 0
79#backend_port0 = 5432
80                                   # Port number for backend 0
81#backend_weight0 = 1
82                                   # Weight for backend 0 (only in load balancing mode)
83#backend_data_directory0 = '/data'
84                                   # Data directory for backend 0
85#backend_flag0 = 'ALLOW_TO_FAILOVER'
86                                   # Controls various backend behavior
87                                   # ALLOW_TO_FAILOVER, DISALLOW_TO_FAILOVER
88                                   # or ALWAYS_PRIMARY
89#backend_application_name0 = 'server0'
90                                   # walsender's application_name, used for "show pool_nodes" command
91#backend_hostname1 = 'host2'
92#backend_port1 = 5433
93#backend_weight1 = 1
94#backend_data_directory1 = '/data1'
95#backend_flag1 = 'ALLOW_TO_FAILOVER'
96#backend_application_name1 = 'server1'
97
98# - Authentication -
99
100#enable_pool_hba = off
101                                   # Use pool_hba.conf for client authentication
102#pool_passwd = 'pool_passwd'
103                                   # File name of pool_passwd for md5 authentication.
104                                   # "" disables pool_passwd.
105                                   # (change requires restart)
106#authentication_timeout = 1min
107                                   # Delay in seconds to complete client authentication
108                                   # 0 means no timeout.
109
110#allow_clear_text_frontend_auth = off
111                                   # Allow Pgpool-II to use clear text password authentication
112                                   # with clients, when pool_passwd does not
113                                   # contain the user password
114
115# - SSL Connections -
116
117#ssl = off
118                                   # Enable SSL support
119                                   # (change requires restart)
120#ssl_key = 'server.key'
121                                   # SSL private key file
122                                   # (change requires restart)
123#ssl_cert = 'server.crt'
124                                   # SSL public certificate file
125                                   # (change requires restart)
126#ssl_ca_cert = ''
127                                   # Single PEM format file containing
128                                   # CA root certificate(s)
129                                   # (change requires restart)
130#ssl_ca_cert_dir = ''
131                                   # Directory containing CA root certificate(s)
132                                   # (change requires restart)
133#ssl_crl_file = ''
134                                   # SSL certificate revocation list file
135                                   # (change requires restart)
136
137#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
138                                   # Allowed SSL ciphers
139                                   # (change requires restart)
140#ssl_prefer_server_ciphers = off
141                                   # Use server's SSL cipher preferences,
142                                   # rather than the client's
143                                   # (change requires restart)
144#ssl_ecdh_curve = 'prime256v1'
145                                   # Name of the curve to use in ECDH key exchange
146#ssl_dh_params_file = ''
147                                   # Name of the file containing Diffie-Hellman parameters used
148                                   # for so-called ephemeral DH family of SSL cipher.
149#ssl_passphrase_command=''
150                                   # Sets an external command to be invoked when a passphrase
151                                   # for decrypting an SSL file needs to be obtained
152                                   # (change requires restart)
153
154#------------------------------------------------------------------------------
155# POOLS
156#------------------------------------------------------------------------------
157
158# - Concurrent session and pool size -
159
160#num_init_children = 32
161                                   # Number of concurrent sessions allowed
162                                   # (change requires restart)
163#max_pool = 4
164                                   # Number of connection pool caches per connection
165                                   # (change requires restart)
166
167# - Life time -
168
169#child_life_time = 5min
170                                   # Pool exits after being idle for this many seconds
171#child_max_connections = 0
172                                   # Pool exits after receiving that many connections
173                                   # 0 means no exit
174#connection_life_time = 0
175                                   # Connection to backend closes after being idle for this many seconds
176                                   # 0 means no close
177#client_idle_limit = 0
178                                   # Client is disconnected after being idle for that many seconds
179                                   # (even inside an explicit transactions!)
180                                   # 0 means no disconnection
181
182
183#------------------------------------------------------------------------------
184# LOGS
185#------------------------------------------------------------------------------
186
187# - Where to log -
188
189#log_destination = 'stderr'
190                                   # Where to log
191                                   # Valid values are combinations of stderr,
192                                   # and syslog. Default to stderr.
193
194# - What to log -
195
196#log_line_prefix = '%t: pid %p: '   # printf-style string to output at beginning of each log line.
197
198#log_connections = off
199                                   # Log connections
200#log_disconnections = off
201                                   # Log disconnections
202#log_hostname = off
203                                   # Hostname will be shown in ps status
204                                   # and in logs if connections are logged
205#log_statement = off
206                                   # Log all statements
207#log_per_node_statement = off
208                                   # Log all statements
209                                   # with node and backend informations
210#log_client_messages = off
211                                   # Log any client messages
212#log_standby_delay = 'if_over_threshold'
213                                   # Log standby delay
214                                   # Valid values are combinations of always,
215                                   # if_over_threshold, none
216
217# - Syslog specific -
218
219#syslog_facility = 'LOCAL0'
220                                   # Syslog local facility. Default to LOCAL0
221#syslog_ident = 'pgpool'
222                                   # Syslog program identification string
223                                   # Default to 'pgpool'
224
225# - Debug -
226
227#log_error_verbosity = default          # terse, default, or verbose messages
228
229#client_min_messages = notice           # values in order of decreasing detail:
230                                        #   debug5
231                                        #   debug4
232                                        #   debug3
233                                        #   debug2
234                                        #   debug1
235                                        #   log
236                                        #   notice
237                                        #   warning
238                                        #   error
239
240#log_min_messages = warning             # values in order of decreasing detail:
241                                        #   debug5
242                                        #   debug4
243                                        #   debug3
244                                        #   debug2
245                                        #   debug1
246                                        #   info
247                                        #   notice
248                                        #   warning
249                                        #   error
250                                        #   log
251                                        #   fatal
252                                        #   panic
253
254# This is used when logging to stderr:
255#logging_collector = off
256                                        # Enable capturing of stderr
257                                        # into log files.
258                                        # (change requires restart)
259
260# -- Only used if logging_collector is on ---
261
262#log_directory = '/tmp/pgpool_logs'
263                                        # directory where log files are written,
264                                        # can be absolute
265#log_filename = 'pgpool-%Y-%m-%d_%H%M%S.log'
266                                        # log file name pattern,
267                                        # can include strftime() escapes
268
269#log_file_mode = 0600
270                                        # creation mode for log files,
271                                        # begin with 0 to use octal notation
272
273#log_truncate_on_rotation = off
274                                        # If on, an existing log file with the
275                                        # same name as the new log file will be
276                                        # truncated rather than appended to.
277                                        # But such truncation only occurs on
278                                        # time-driven rotation, not on restarts
279                                        # or size-driven rotation.  Default is
280                                        # off, meaning append to existing files
281                                        # in all cases.
282
283#log_rotation_age = 1d
284                                        # Automatic rotation of logfiles will
285                                        # happen after that (minutes)time.
286                                        # 0 disables time based rotation.
287#log_rotation_size = 10MB
288                                        # Automatic rotation of logfiles will
289                                        # happen after that much (KB) log output.
290                                        # 0 disables size based rotation.
291#------------------------------------------------------------------------------
292# FILE LOCATIONS
293#------------------------------------------------------------------------------
294
295#pid_file_name = '/var/run/pgpool/pgpool.pid'
296                                   # PID file name
297                                   # Can be specified as relative to the"
298                                   # location of pgpool.conf file or
299                                   # as an absolute path
300                                   # (change requires restart)
301#logdir = '/tmp'
302                                   # Directory of pgPool status file
303                                   # (change requires restart)
304
305
306#------------------------------------------------------------------------------
307# CONNECTION POOLING
308#------------------------------------------------------------------------------
309
310#connection_cache = on
311                                   # Activate connection pools
312                                   # (change requires restart)
313
314                                   # Semicolon separated list of queries
315                                   # to be issued at the end of a session
316                                   # The default is for 8.3 and later
317#reset_query_list = 'ABORT; DISCARD ALL'
318                                   # The following one is for 8.2 and before
319#reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
320
321
322#------------------------------------------------------------------------------
323# REPLICATION MODE
324#------------------------------------------------------------------------------
325
326#replicate_select = off
327                                   # Replicate SELECT statements
328                                   # when in replication mode
329                                   # replicate_select is higher priority than
330                                   # load_balance_mode.
331
332#insert_lock = off
333                                   # Automatically locks a dummy row or a table
334                                   # with INSERT statements to keep SERIAL data
335                                   # consistency
336                                   # Without SERIAL, no lock will be issued
337#lobj_lock_table = ''
338                                   # When rewriting lo_creat command in
339                                   # replication mode, specify table name to
340                                   # lock
341
342# - Degenerate handling -
343
344#replication_stop_on_mismatch = off
345                                   # On disagreement with the packet kind
346                                   # sent from backend, degenerate the node
347                                   # which is most likely "minority"
348                                   # If off, just force to exit this session
349
350#failover_if_affected_tuples_mismatch = off
351                                   # On disagreement with the number of affected
352                                   # tuples in UPDATE/DELETE queries, then
353                                   # degenerate the node which is most likely
354                                   # "minority".
355                                   # If off, just abort the transaction to
356                                   # keep the consistency
357
358
359#------------------------------------------------------------------------------
360# LOAD BALANCING MODE
361#------------------------------------------------------------------------------
362
363#load_balance_mode = on
364                                   # Activate load balancing mode
365                                   # (change requires restart)
366#ignore_leading_white_space = on
367                                   # Ignore leading white spaces of each query
368#read_only_function_list = ''
369                                   # Comma separated list of function names
370                                   # that don't write to database
371                                   # Regexp are accepted
372#write_function_list = ''
373                                   # Comma separated list of function names
374                                   # that write to database
375                                   # Regexp are accepted
376                                   # If both read_only_function_list and write_function_list
377                                   # is empty, function's volatile property is checked.
378                                   # If it's volatile, the function is regarded as a
379                                   # writing function.
380
381#primary_routing_query_pattern_list = ''
382                                   # Semicolon separated list of query patterns
383                                   # that should be sent to primary node
384                                   # Regexp are accepted
385                                   # valid for streaming replicaton mode only.
386
387#database_redirect_preference_list = ''
388                                   # comma separated list of pairs of database and node id.
389                                   # example: postgres:primary,mydb[0-4]:1,mydb[5-9]:2'
390                                   # valid for streaming replicaton mode only.
391
392#app_name_redirect_preference_list = ''
393                                   # comma separated list of pairs of app name and node id.
394                                   # example: 'psql:primary,myapp[0-4]:1,myapp[5-9]:standby'
395                                   # valid for streaming replicaton mode only.
396#allow_sql_comments = off
397                                   # if on, ignore SQL comments when judging if load balance or
398                                   # query cache is possible.
399                                   # If off, SQL comments effectively prevent the judgment
400                                   # (pre 3.4 behavior).
401
402#disable_load_balance_on_write = 'transaction'
403                                   # Load balance behavior when write query is issued
404                                   # in an explicit transaction.
405                                   #
406                                   # Valid values:
407                                   #
408                                   # 'transaction' (default):
409                                   #     if a write query is issued, subsequent
410                                   #     read queries will not be load balanced
411                                   #     until the transaction ends.
412                                   #
413                                   # 'trans_transaction':
414                                   #     if a write query is issued, subsequent
415                                   #     read queries in an explicit transaction
416                                   #     will not be load balanced until the session ends.
417                                   #
418                                   # 'dml_adaptive':
419                                   #     Queries on the tables that have already been
420                                   #     modified within the current explicit transaction will
421                                   #     not be load balanced until the end of the transaction.
422                                   #
423                                   # 'always':
424                                   #     if a write query is issued, read queries will
425                                   #     not be load balanced until the session ends.
426                                   #
427                                   # Note that any query not in an explicit transaction
428                                   # is not affected by the parameter except 'always'.
429
430#dml_adaptive_object_relationship_list= ''
431                                   # comma separated list of object pairs
432                                   # [object]:[dependent-object], to disable load balancing
433                                   # of dependent objects within the explicit transaction
434                                   # after WRITE statement is issued on (depending-on) object.
435                                   #
436                                   # example: 'tb_t1:tb_t2,insert_tb_f_func():tb_f,tb_v:my_view'
437                                   # Note: function name in this list must also be present in
438                                   # the write_function_list
439                                   # only valid for disable_load_balance_on_write = 'dml_adaptive'.
440
441#statement_level_load_balance = off
442                                   # Enables statement level load balancing
443
444#------------------------------------------------------------------------------
445# STREAMING REPLICATION MODE
446#------------------------------------------------------------------------------
447
448# - Streaming -
449
450#sr_check_period = 10
451                                   # Streaming replication check period
452                                   # Disabled (0) by default
453#sr_check_user = 'nobody'
454                                   # Streaming replication check user
455                                   # This is neccessary even if you disable streaming
456                                   # replication delay check by sr_check_period = 0
457#sr_check_password = ''
458                                   # Password for streaming replication check user
459                                   # Leaving it empty will make Pgpool-II to first look for the
460                                   # Password in pool_passwd file before using the empty password
461
462#sr_check_database = 'postgres'
463                                   # Database name for streaming replication check
464#delay_threshold = 0
465                                   # Threshold before not dispatching query to standby node
466                                   # Unit is in bytes
467                                   # Disabled (0) by default
468#prefer_lower_delay_standby = off
469                                   # If delay_threshold is set larger than 0, Pgpool-II send to
470                                   # the primary when selected node is delayed over delay_threshold.
471                                   # If this is set to on, Pgpool-II send query to other standby
472                                   # delayed lower.
473
474# - Special commands -
475
476#follow_primary_command = ''
477                                   # Executes this command after main node failover
478                                   # Special values:
479                                   #   %d = failed node id
480                                   #   %h = failed node host name
481                                   #   %p = failed node port number
482                                   #   %D = failed node database cluster path
483                                   #   %m = new main node id
484                                   #   %H = new main node hostname
485                                   #   %M = old main node id
486                                   #   %P = old primary node id
487                                   #   %r = new main port number
488                                   #   %R = new main database cluster path
489                                   #   %N = old primary node hostname
490                                   #   %S = old primary node port number
491                                   #   %% = '%' character
492
493#------------------------------------------------------------------------------
494# HEALTH CHECK GLOBAL PARAMETERS
495#------------------------------------------------------------------------------
496
497#health_check_period = 0
498                                   # Health check period
499                                   # Disabled (0) by default
500#health_check_timeout = 20
501                                   # Health check timeout
502                                   # 0 means no timeout
503#health_check_user = 'nobody'
504                                   # Health check user
505#health_check_password = ''
506                                   # Password for health check user
507                                   # Leaving it empty will make Pgpool-II to first look for the
508                                   # Password in pool_passwd file before using the empty password
509
510#health_check_database = ''
511                                   # Database name for health check. If '', tries 'postgres' frist,
512#health_check_max_retries = 0
513                                   # Maximum number of times to retry a failed health check before giving up.
514#health_check_retry_delay = 1
515                                   # Amount of time to wait (in seconds) between retries.
516#connect_timeout = 10000
517                                   # Timeout value in milliseconds before giving up to connect to backend.
518                                   # Default is 10000 ms (10 second). Flaky network user may want to increase
519                                   # the value. 0 means no timeout.
520                                   # Note that this value is not only used for health check,
521                                   # but also for ordinary conection to backend.
522
523#------------------------------------------------------------------------------
524# HEALTH CHECK PER NODE PARAMETERS (OPTIONAL)
525#------------------------------------------------------------------------------
526#health_check_period0 = 0
527#health_check_timeout0 = 20
528#health_check_user0 = 'nobody'
529#health_check_password0 = ''
530#health_check_database0 = ''
531#health_check_max_retries0 = 0
532#health_check_retry_delay0 = 1
533#connect_timeout0 = 10000
534
535#------------------------------------------------------------------------------
536# FAILOVER AND FAILBACK
537#------------------------------------------------------------------------------
538
539#failover_command = ''
540                                   # Executes this command at failover
541                                   # Special values:
542                                   #   %d = failed node id
543                                   #   %h = failed node host name
544                                   #   %p = failed node port number
545                                   #   %D = failed node database cluster path
546                                   #   %m = new main node id
547                                   #   %H = new main node hostname
548                                   #   %M = old main node id
549                                   #   %P = old primary node id
550                                   #   %r = new main port number
551                                   #   %R = new main database cluster path
552                                   #   %N = old primary node hostname
553                                   #   %S = old primary node port number
554                                   #   %% = '%' character
555#failback_command = ''
556                                   # Executes this command at failback.
557                                   # Special values:
558                                   #   %d = failed node id
559                                   #   %h = failed node host name
560                                   #   %p = failed node port number
561                                   #   %D = failed node database cluster path
562                                   #   %m = new main node id
563                                   #   %H = new main node hostname
564                                   #   %M = old main node id
565                                   #   %P = old primary node id
566                                   #   %r = new main port number
567                                   #   %R = new main database cluster path
568                                   #   %N = old primary node hostname
569                                   #   %S = old primary node port number
570                                   #   %% = '%' character
571
572#failover_on_backend_error = on
573                                   # Initiates failover when reading/writing to the
574                                   # backend communication socket fails
575                                   # If set to off, pgpool will report an
576                                   # error and disconnect the session.
577
578#failover_on_backend_shutdown = off
579                                   # Initiates failover when backend is shutdown,
580				   # or backend process is killed.
581                                   # If set to off, pgpool will report an
582                                   # error and disconnect the session.
583
584#detach_false_primary = off
585                                   # Detach false primary if on. Only
586                                   # valid in streaming replicaton
587                                   # mode and with PostgreSQL 9.6 or
588                                   # after.
589
590#search_primary_node_timeout = 5min
591                                   # Timeout in seconds to search for the
592                                   # primary node when a failover occurs.
593                                   # 0 means no timeout, keep searching
594                                   # for a primary node forever.
595
596#------------------------------------------------------------------------------
597# ONLINE RECOVERY
598#------------------------------------------------------------------------------
599
600#recovery_user = 'nobody'
601                                   # Online recovery user
602#recovery_password = ''
603                                   # Online recovery password
604                                   # Leaving it empty will make Pgpool-II to first look for the
605                                   # Password in pool_passwd file before using the empty password
606
607#recovery_1st_stage_command = ''
608                                   # Executes a command in first stage
609#recovery_2nd_stage_command = ''
610                                   # Executes a command in second stage
611#recovery_timeout = 90
612                                   # Timeout in seconds to wait for the
613                                   # recovering node's postmaster to start up
614                                   # 0 means no wait
615#client_idle_limit_in_recovery = 0
616                                   # Client is disconnected after being idle
617                                   # for that many seconds in the second stage
618                                   # of online recovery
619                                   # 0 means no disconnection
620                                   # -1 means immediate disconnection
621
622#auto_failback = off
623                                   # Dettached backend node reattach automatically
624                                   # if replication_state is 'streaming'.
625#auto_failback_interval = 1min
626                                   # Min interval of executing auto_failback in
627                                   # seconds.
628
629#------------------------------------------------------------------------------
630# WATCHDOG
631#------------------------------------------------------------------------------
632
633# - Enabling -
634
635#use_watchdog = off
636                                    # Activates watchdog
637                                    # (change requires restart)
638
639# -Connection to up stream servers -
640
641#trusted_servers = ''
642                                    # trusted server list which are used
643                                    # to confirm network connection
644                                    # (hostA,hostB,hostC,...)
645                                    # (change requires restart)
646#ping_path = '/bin'
647                                    # ping command path
648                                    # (change requires restart)
649
650# - Watchdog communication Settings -
651
652hostname0 = ''
653                                    # Host name or IP address of pgpool node
654                                    # for watchdog connection
655                                    # (change requires restart)
656#wd_port0 = 9000
657                                    # Port number for watchdog service
658                                    # (change requires restart)
659#pgpool_port0 = 9999
660                                    # Port number for pgpool
661                                    # (change requires restart)
662
663#hostname1 = ''
664#wd_port1 = 9000
665#pgpool_port1 = 9999
666
667#hostname2 = ''
668#wd_port2 = 9000
669#pgpool_port2 = 9999
670
671#wd_priority = 1
672                                    # priority of this watchdog in leader election
673                                    # (change requires restart)
674
675#wd_authkey = ''
676                                    # Authentication key for watchdog communication
677                                    # (change requires restart)
678
679#wd_ipc_socket_dir = '/tmp'
680                                    # Unix domain socket path for watchdog IPC socket
681                                    # The Debian package defaults to
682                                    # /var/run/postgresql
683                                    # (change requires restart)
684
685
686# - Virtual IP control Setting -
687
688#delegate_IP = ''
689                                    # delegate IP address
690                                    # If this is empty, virtual IP never bring up.
691                                    # (change requires restart)
692#if_cmd_path = '/sbin'
693                                    # path to the directory where if_up/down_cmd exists
694                                    # If if_up/down_cmd starts with "/", if_cmd_path will be ignored.
695                                    # (change requires restart)
696#if_up_cmd = '/usr/bin/sudo /sbin/ip addr add $_IP_$/24 dev eth0 label eth0:0'
697                                    # startup delegate IP command
698                                    # (change requires restart)
699#if_down_cmd = '/usr/bin/sudo /sbin/ip addr del $_IP_$/24 dev eth0'
700                                    # shutdown delegate IP command
701                                    # (change requires restart)
702#arping_path = '/usr/sbin'
703                                    # arping command path
704                                    # If arping_cmd starts with "/", if_cmd_path will be ignored.
705                                    # (change requires restart)
706#arping_cmd = '/usr/bin/sudo /usr/sbin/arping -U $_IP_$ -w 1 -I eth0'
707                                    # arping command
708                                    # (change requires restart)
709
710# - Behaivor on escalation Setting -
711
712#clear_memqcache_on_escalation = on
713                                    # Clear all the query cache on shared memory
714                                    # when standby pgpool escalate to active pgpool
715                                    # (= virtual IP holder).
716                                    # This should be off if client connects to pgpool
717                                    # not using virtual IP.
718                                    # (change requires restart)
719#wd_escalation_command = ''
720                                    # Executes this command at escalation on new active pgpool.
721                                    # (change requires restart)
722#wd_de_escalation_command = ''
723                                    # Executes this command when leader pgpool resigns from being leader.
724                                    # (change requires restart)
725
726# - Watchdog consensus settings for failover -
727
728#failover_when_quorum_exists = on
729                                    # Only perform backend node failover
730                                    # when the watchdog cluster holds the quorum
731                                    # (change requires restart)
732
733#failover_require_consensus = on
734                                    # Perform failover when majority of Pgpool-II nodes
735                                    # aggrees on the backend node status change
736                                    # (change requires restart)
737
738#allow_multiple_failover_requests_from_node = off
739                                    # A Pgpool-II node can cast multiple votes
740                                    # for building the consensus on failover
741                                    # (change requires restart)
742
743
744#enable_consensus_with_half_votes = off
745                                    # apply majority rule for consensus and quorum computation
746                                    # at 50% of votes in a cluster with even number of nodes.
747                                    # when enabled the existence of quorum and consensus
748                                    # on failover is resolved after receiving half of the
749                                    # total votes in the cluster, otherwise both these
750                                    # decisions require at least one more vote than
751                                    # half of the total votes.
752                                    # (change requires restart)
753
754# - Watchdog cluster membership settings for quorum computation -
755
756#wd_remove_shutdown_nodes = off
757                                    # when enabled cluster membership of properly shutdown
758                                    # watchdog nodes gets revoked, After that the node does
759                                    # not count towards the quorum and consensus computations
760
761#wd_lost_node_removal_timeout = 0s
762                                    # Timeout after which the cluster membership of LOST watchdog
763                                    # nodes gets revoked. After that the node node does not
764                                    # count towards the quorum and consensus computations
765                                    # setting timeout to 0 will never revoke the membership
766                                    # of LOST nodes
767
768#wd_initial_node_showup_time = 0s
769                                    # Time to wait for Watchdog node to connect to the cluster.
770                                    # After that time the cluster membership of NO-SHOW node gets
771                                    # revoked and it does not count towards the quorum and
772                                    # consensus computations
773                                    # setting timeout to 0 will not revoke the membership
774                                    # of NO-SHOW nodes
775
776
777# - Lifecheck Setting -
778
779# -- common --
780
781#wd_monitoring_interfaces_list = ''
782                                    # Comma separated list of interfaces names to monitor.
783                                    # if any interface from the list is active the watchdog will
784                                    # consider the network is fine
785                                    # 'any' to enable monitoring on all interfaces except loopback
786                                    # '' to disable monitoring
787                                    # (change requires restart)
788
789#wd_lifecheck_method = 'heartbeat'
790                                    # Method of watchdog lifecheck ('heartbeat' or 'query' or 'external')
791                                    # (change requires restart)
792#wd_interval = 10
793                                    # lifecheck interval (sec) > 0
794                                    # (change requires restart)
795
796# -- heartbeat mode --
797
798#heartbeat_hostname0 = ''
799                                    # Host name or IP address used
800                                    # for sending heartbeat signal.
801                                    # (change requires restart)
802#heartbeat_port0 = 9694
803                                    # Port number used for receiving/sending heartbeat signal
804                                    # Usually this is the same as heartbeat_portX.
805                                    # (change requires restart)
806#heartbeat_device0 = ''
807                                    # Name of NIC device (such like 'eth0')
808                                    # used for sending/receiving heartbeat
809                                    # signal to/from destination 0.
810                                    # This works only when this is not empty
811                                    # and pgpool has root privilege.
812                                    # (change requires restart)
813
814#heartbeat_hostname1 = ''
815#heartbeat_port1 = 9694
816#heartbeat_device1 = ''
817#heartbeat_hostname2 = ''
818#heartbeat_port2 = 9694
819#heartbeat_device2 = ''
820
821#wd_heartbeat_keepalive = 2
822                                    # Interval time of sending heartbeat signal (sec)
823                                    # (change requires restart)
824#wd_heartbeat_deadtime = 30
825                                    # Deadtime interval for heartbeat signal (sec)
826                                    # (change requires restart)
827
828# -- query mode --
829
830#wd_life_point = 3
831                                    # lifecheck retry times
832                                    # (change requires restart)
833#wd_lifecheck_query = 'SELECT 1'
834                                    # lifecheck query to pgpool from watchdog
835                                    # (change requires restart)
836#wd_lifecheck_dbname = 'template1'
837                                    # Database name connected for lifecheck
838                                    # (change requires restart)
839#wd_lifecheck_user = 'nobody'
840                                    # watchdog user monitoring pgpools in lifecheck
841                                    # (change requires restart)
842#wd_lifecheck_password = ''
843                                    # Password for watchdog user in lifecheck
844                                    # Leaving it empty will make Pgpool-II to first look for the
845                                    # Password in pool_passwd file before using the empty password
846                                    # (change requires restart)
847
848#------------------------------------------------------------------------------
849# OTHERS
850#------------------------------------------------------------------------------
851#relcache_expire = 0
852                                   # Life time of relation cache in seconds.
853                                   # 0 means no cache expiration(the default).
854                                   # The relation cache is used for cache the
855                                   # query result against PostgreSQL system
856                                   # catalog to obtain various information
857                                   # including table structures or if it's a
858                                   # temporary table or not. The cache is
859                                   # maintained in a pgpool child local memory
860                                   # and being kept as long as it survives.
861                                   # If someone modify the table by using
862                                   # ALTER TABLE or some such, the relcache is
863                                   # not consistent anymore.
864                                   # For this purpose, cache_expiration
865                                   # controls the life time of the cache.
866#relcache_size = 256
867                                   # Number of relation cache
868                                   # entry. If you see frequently:
869                                   # "pool_search_relcache: cache replacement happend"
870                                   # in the pgpool log, you might want to increate this number.
871
872#check_temp_table = catalog
873                                   # Temporary table check method. catalog, trace or none.
874                                   # Default is catalog.
875
876#check_unlogged_table = on
877                                   # If on, enable unlogged table check in SELECT statements.
878                                   # This initiates queries against system catalog of primary/main
879                                   # thus increases load of primary.
880                                   # If you are absolutely sure that your system never uses unlogged tables
881                                   # and you want to save access to primary/main, you could turn this off.
882                                   # Default is on.
883#enable_shared_relcache = on
884                                   # If on, relation cache stored in memory cache,
885                                   # the cache is shared among child process.
886                                   # Default is on.
887                                   # (change requires restart)
888
889#relcache_query_target = primary
890                                   # Target node to send relcache queries. Default is primary node.
891                                   # If load_balance_node is specified, queries will be sent to load balance node.
892#------------------------------------------------------------------------------
893# IN MEMORY QUERY MEMORY CACHE
894#------------------------------------------------------------------------------
895#memory_cache_enabled = off
896                                   # If on, use the memory cache functionality, off by default
897                                   # (change requires restart)
898#memqcache_method = 'shmem'
899                                   # Cache storage method. either 'shmem'(shared memory) or
900                                   # 'memcached'. 'shmem' by default
901                                   # (change requires restart)
902#memqcache_memcached_host = 'localhost'
903                                   # Memcached host name or IP address. Mandatory if
904                                   # memqcache_method = 'memcached'.
905                                   # Defaults to localhost.
906                                   # (change requires restart)
907#memqcache_memcached_port = 11211
908                                   # Memcached port number. Mondatory if memqcache_method = 'memcached'.
909                                   # Defaults to 11211.
910                                   # (change requires restart)
911#memqcache_total_size = 64MB
912                                   # Total memory size in bytes for storing memory cache.
913                                   # Mandatory if memqcache_method = 'shmem'.
914                                   # Defaults to 64MB.
915                                   # (change requires restart)
916#memqcache_max_num_cache = 1000000
917                                   # Total number of cache entries. Mandatory
918                                   # if memqcache_method = 'shmem'.
919                                   # Each cache entry consumes 48 bytes on shared memory.
920                                   # Defaults to 1,000,000(45.8MB).
921                                   # (change requires restart)
922#memqcache_expire = 0
923                                   # Memory cache entry life time specified in seconds.
924                                   # 0 means infinite life time. 0 by default.
925                                   # (change requires restart)
926#memqcache_auto_cache_invalidation = on
927                                   # If on, invalidation of query cache is triggered by corresponding
928                                   # DDL/DML/DCL(and memqcache_expire).  If off, it is only triggered
929                                   # by memqcache_expire.  on by default.
930                                   # (change requires restart)
931#memqcache_maxcache = 400kB
932                                   # Maximum SELECT result size in bytes.
933                                   # Must be smaller than memqcache_cache_block_size. Defaults to 400KB.
934                                   # (change requires restart)
935#memqcache_cache_block_size = 1MB
936                                   # Cache block size in bytes. Mandatory if memqcache_method = 'shmem'.
937                                   # Defaults to 1MB.
938                                   # (change requires restart)
939#memqcache_oiddir = '/var/log/pgpool/oiddir'
940                                   # Temporary work directory to record table oids
941                                   # (change requires restart)
942#cache_safe_memqcache_table_list = ''
943                                   # Comma separated list of table names to memcache
944                                   # that don't write to database
945                                   # Regexp are accepted
946#cache_unsafe_memqcache_table_list = ''
947                                   # Comma separated list of table names not to memcache
948                                   # that don't write to database
949                                   # Regexp are accepted
950