[pgpool-general: 4640] Re: md5 authentication with pgpool

Lucas Luengas lucasluengas at gmail.com
Fri Apr 15 05:46:30 JST 2016


Hello Daniel
You can try to increase log on pgpool and postgres. Then try it again and
check log files
You can try to create a simple user on posgresql and pgpool, and try it
again
On Apr 11, 2016 10:35 PM, "Daniel Gallo" <danielito.gallo at gmail.com> wrote:

> Same error!!!!
>
> -rw-r--r--. 1 apache postgres    45 abr 11 17:09 pool_passwd
>
>
>
> -bash-4.2$ psql -h localhost -U postgres -p 9999
> psql: ERROR:  unable to read message length
> DETALLE:  message length (12) in slot 1 does not match with slot 0(8)
>
> pool_passwd
>
> postgres:md59798b5eb1000b9fad41c78e5a3dccxxx
>
>
> select * from pg_shadow where usename='postgres';
>
> md59798b5eb1000b9fad41c78e5a3dccxxx
>
> the pool_passwd permision is ok?
> I do not know what else to do!!!
>
> 2016-04-08 20:56 GMT-03:00 Tatsuo Ishii <ishii at postgresql.org>:
>
>> > Yes Tatsuo we have encrypted the postgres user in both servers
>> >
>> > SELECT * from pg_shadow a WHERE a.usename='postgres';
>> >
>> > postgres 10 t t t t md59798b5eb1000b9fad41c78e5a3dccxxx
>> >
>> > Is diferent a pcp.conf
>> >
>> > # USERID:MD5PASSWD
>> > postgres:5c0435eee0f211f150e980e459151xxx
>>
>> I assume it's pool_passwd. It seems the pool_passwd was correctly
>> setup. Please see the doc:
>>
>> http://www.pgpool.net/docs/latest/pgpool-en.html#md5
>>
>> > thanks again for your time!!
>> >
>> >
>> >
>> > 2016-04-07 23:57 GMT-03:00 Tatsuo Ishii <ishii at postgresql.org>:
>> >
>> >> pg_hba.conf looks good.  So the user in question has encrypted
>> >> password on the both PostgreSQL server? You can check it by looking at
>> >> pg_shadow (needs PostgreSQL super user privilege). The "password"
>> >> column should look something like "md5.....".
>> >>
>> >> Best regards,
>> >> --
>> >> Tatsuo Ishii
>> >> SRA OSS, Inc. Japan
>> >> English: http://www.sraoss.co.jp/index_en.php
>> >> Japanese:http://www.sraoss.co.jp
>> >>
>> >> > Thanks a lots for your time!!!!
>> >> >
>> >> > Master pgpool.conf and pg_hba.conf
>> >> >
>> >> > # ----------------------------
>> >> > # pgPool-II configuration file
>> >> > # ----------------------------
>> >> > #
>> >> > # This file consists of lines of the form:
>> >> > #
>> >> > #   name = value
>> >> > #
>> >> > # Whitespace may be used.  Comments are introduced with "#" anywhere
>> on a
>> >> > line.
>> >> > # The complete list of parameter names and allowed values can be
>> found in
>> >> > the
>> >> > # pgPool-II documentation.
>> >> > #
>> >> > # This file is read on server startup and when the server receives a
>> >> SIGHUP
>> >> > # signal.  If you edit the file on a running system, you have to
>> SIGHUP
>> >> the
>> >> > # server for the changes to take effect, or use "pgpool reload".
>> Some
>> >> > # parameters, which are marked below, require a server shutdown and
>> >> restart
>> >> > to
>> >> > # take effect.
>> >> > #
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # CONNECTIONS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - pgpool Connection Settings -
>> >> >
>> >> > listen_addresses = '*'
>> >> >                                    # Host name or IP address to
>> listen
>> >> on:
>> >> >                                    # '*' for all, '' for no TCP/IP
>> >> > connections
>> >> >                                    # (change requires restart)
>> >> > port = 9999
>> >> >                                    # Port number
>> >> >                                    # (change requires restart)
>> >> > socket_dir = '/tmp'
>> >> >                                    # Unix domain socket path
>> >> >                                    # The Debian package defaults to
>> >> >                                    # /var/run/postgresql
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> > # - pgpool Communication Manager Connection Settings -
>> >> >
>> >> > pcp_listen_addresses = '*'
>> >> >                                    # Host name or IP address for pcp
>> >> > process to listen on:
>> >> >                                    # '*' for all, '' for no TCP/IP
>> >> > connections
>> >> >                                    # (change requires restart)
>> >> > pcp_port = 9898
>> >> >                                    # Port number for pcp
>> >> >                                    # (change requires restart)
>> >> > pcp_socket_dir = '/tmp'
>> >> >                                    # Unix domain socket path for pcp
>> >> >                                    # The Debian package defaults to
>> >> >                                    # /var/run/postgresql
>> >> >                                    # (change requires restart)
>> >> > listen_backlog_multiplier = 2
>> >> >                                    # Set the backlog parameter of
>> >> listen(2)
>> >> > to
>> >> >   # num_init_children * listen_backlog_multiplier.
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Backend Connection Settings -
>> >> >
>> >> >                                    # Host name or IP address to
>> connect
>> >> to
>> >> > for backend 0
>> >> >                                    # Port number for backend 0
>> >> >                                    # Weight for backend 0 (only in
>> load
>> >> > balancing mode)
>> >> >                                    # Data directory for backend 0
>> >> >                                    # Controls various backend
>> behavior
>> >> >                                    # ALLOW_TO_FAILOVER or
>> >> > DISALLOW_TO_FAILOVER
>> >> >
>> >> > # - Authentication -
>> >> >
>> >> > enable_pool_hba = on
>> >> >                                    # Use pool_hba.conf for client
>> >> > authentication
>> >> > pool_passwd = 'pool_passwd'
>> >> >                                    # File name of pool_passwd for md5
>> >> > authentication.
>> >> >                                    # "" disables pool_passwd.
>> >> >                                    # (change requires restart)
>> >> > authentication_timeout = 60
>> >> >                                    # Delay in seconds to complete
>> client
>> >> > authentication
>> >> >                                    # 0 means no timeout.
>> >> >
>> >> > # - SSL Connections -
>> >> >
>> >> > ssl = off
>> >> >                                    # Enable SSL support
>> >> >                                    # (change requires restart)
>> >> > #ssl_key = './server.key'
>> >> >                                    # Path to the SSL private key file
>> >> >                                    # (change requires restart)
>> >> > #ssl_cert = './server.cert'
>> >> >                                    # Path to the SSL public
>> certificate
>> >> file
>> >> >                                    # (change requires restart)
>> >> > #ssl_ca_cert = ''
>> >> >                                    # Path to a single PEM format file
>> >> >                                    # containing CA root
>> certificate(s)
>> >> >                                    # (change requires restart)
>> >> > #ssl_ca_cert_dir = ''
>> >> >                                    # Directory containing CA root
>> >> > certificate(s)
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # POOLS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Pool size -
>> >> >
>> >> > num_init_children = 32
>> >> >                                    # Number of pools
>> >> >                                    # (change requires restart)
>> >> > max_pool = 4
>> >> >                                    # Number of connections per pool
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Life time -
>> >> >
>> >> > child_life_time = 300
>> >> >                                    # Pool exits after being idle for
>> this
>> >> > many seconds
>> >> > child_max_connections = 0
>> >> >                                    # Pool exits after receiving that
>> many
>> >> > connections
>> >> >                                    # 0 means no exit
>> >> > connection_life_time = 0
>> >> >                                    # Connection to backend closes
>> after
>> >> > being idle for this many seconds
>> >> >                                    # 0 means no close
>> >> > client_idle_limit = 0
>> >> >                                    # Client is disconnected after
>> being
>> >> > idle for that many seconds
>> >> >                                    # (even inside an explicit
>> >> transactions!)
>> >> >                                    # 0 means no disconnection
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # LOGS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Where to log -
>> >> >
>> >> > log_destination = 'syslog'
>> >> >                                    # Where to log
>> >> >                                    # Valid values are combinations of
>> >> > stderr,
>> >> >                                    # and syslog. Default to stderr.
>> >> >
>> >> > # - What to log -
>> >> >
>> >> > log_line_prefix = '%t: pid %p:    # printf-style string to output at
>> >> > beginning of each log line.'
>> >> >
>> >> > log_connections = off
>> >> >                                    # Log connections
>> >> > log_hostname = on
>> >> >                                    # Hostname will be shown in ps
>> status
>> >> >                                    # and in logs if connections are
>> >> logged
>> >> > log_statement = on
>> >> >                                    # Log all statements
>> >> > log_per_node_statement = on
>> >> >                                    # Log all statements
>> >> >                                    # with node and backend
>> informations
>> >> > log_standby_delay = 'if_over_threshold'
>> >> >                                    # Log standby delay
>> >> >                                    # Valid values are combinations of
>> >> > always,
>> >> >                                    # if_over_threshold, none
>> >> >
>> >> > # - Syslog specific -
>> >> >
>> >> > syslog_facility = 'LOCAL0'
>> >> >                                    # Syslog local facility. Default
>> to
>> >> > LOCAL0
>> >> > syslog_ident = 'pgpool'
>> >> >                                    # Syslog program identification
>> string
>> >> >                                    # Default to 'pgpool'
>> >> >
>> >> > # - Debug -
>> >> >
>> >> > debug_level = 5
>> >> >                                    # Debug message verbosity level
>> >> >                                    # 0 means no message, 1 or more
>> mean
>> >> > verbose
>> >> >
>> >> > log_error_verbosity = 'DEFAULT'
>> >> >
>> >> > #client_min_messages = notice           # values in order of
>> decreasing
>> >> > detail:
>> >> >                                         #   debug5
>> >> >                                         #   debug4
>> >> >                                         #   debug3
>> >> >                                         #   debug2
>> >> >                                         #   debug1
>> >> >                                         #   log
>> >> >                                         #   notice
>> >> >                                         #   warning
>> >> >                                         #   error
>> >> >
>> >> > #log_min_messages = warning             # values in order of
>> decreasing
>> >> > detail:
>> >> >                                         #   debug5
>> >> >                                         #   debug4
>> >> >                                         #   debug3
>> >> >                                         #   debug2
>> >> >                                         #   debug1
>> >> >                                         #   info
>> >> >                                         #   notice
>> >> >                                         #   warning
>> >> >                                         #   error
>> >> >                                         #   log
>> >> >                                         #   fatal
>> >> >                                         #   panic
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # FILE LOCATIONS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > pid_file_name = '/var/run/pgpool/pgpool.pid'
>> >> >                                    # PID file name
>> >> >                                    # (change requires restart)
>> >> > logdir = '/tmp'
>> >> >                                    # Directory of pgPool status file
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # CONNECTION POOLING
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > connection_cache = on
>> >> >                                    # Activate connection pools
>> >> >                                    # (change requires restart)
>> >> >
>> >> >                                    # Semicolon separated list of
>> queries
>> >> >                                    # to be issued at the end of a
>> session
>> >> >                                    # The default is for 8.3 and later
>> >> > reset_query_list = 'ABORT; DISCARD ALL'
>> >> >                                    # The following one is for 8.2 and
>> >> before
>> >> > #reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION
>> DEFAULT'
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # REPLICATION MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > replication_mode = off
>> >> >                                    # Activate replication mode
>> >> >                                    # (change requires restart)
>> >> > replicate_select = off
>> >> >                                    # Replicate SELECT statements
>> >> >                                    # when in replication mode
>> >> >                                    # replicate_select is higher
>> priority
>> >> > than
>> >> >                                    # load_balance_mode.
>> >> >
>> >> > insert_lock = off
>> >> >                                    # Automatically locks a dummy row
>> or a
>> >> > table
>> >> >                                    # with INSERT statements to keep
>> >> SERIAL
>> >> > data
>> >> >                                    # consistency
>> >> >                                    # Without SERIAL, no lock will be
>> >> issued
>> >> > lobj_lock_table = ''
>> >> >                                    # When rewriting lo_creat command
>> in
>> >> >                                    # replication mode, specify table
>> >> name to
>> >> >                                    # lock
>> >> >
>> >> > # - Degenerate handling -
>> >> >
>> >> > replication_stop_on_mismatch = off
>> >> >                                    # On disagreement with the packet
>> kind
>> >> >                                    # sent from backend, degenerate
>> the
>> >> node
>> >> >                                    # which is most likely "minority"
>> >> >                                    # If off, just force to exit this
>> >> session
>> >> >
>> >> > failover_if_affected_tuples_mismatch = off
>> >> >                                    # On disagreement with the number
>> of
>> >> > affected
>> >> >                                    # tuples in UPDATE/DELETE queries,
>> >> then
>> >> >                                    # degenerate the node which is
>> most
>> >> > likely
>> >> >                                    # "minority".
>> >> >                                    # If off, just abort the
>> transaction
>> >> to
>> >> >                                    # keep the consistency
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # LOAD BALANCING MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > load_balance_mode = on
>> >> >                                    # Activate load balancing mode
>> >> >                                    # (change requires restart)
>> >> > ignore_leading_white_space = on
>> >> >                                    # Ignore leading white spaces of
>> each
>> >> > query
>> >> > white_function_list = ''
>> >> >                                    # Comma separated list of function
>> >> names
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > black_function_list = 'currval,lastval,nextval,setval'
>> >> >                                    # Comma separated list of function
>> >> names
>> >> >                                    # that write to database
>> >> >                                    # Regexp are accepted
>> >> >
>> >> > database_redirect_preference_list = ''
>> >> >   # comma separated list of pairs of database and node id.
>> >> >   # example: postgres:primary,mydb[0-4]:1,mydb[5-9]:2'
>> >> >   # valid for streaming replicaton mode only.
>> >> >
>> >> > app_name_redirect_preference_list = ''
>> >> >   # comma separated list of pairs of app name and node id.
>> >> >   # example: 'psql:primary,myapp[0-4]:1,myapp[5-9]:standby'
>> >> >   # valid for streaming replicaton mode only.
>> >> > allow_sql_comments = off
>> >> >   # if on, ignore SQL comments when judging if load balance or
>> >> >   # query cache is possible.
>> >> >   # If off, SQL comments effectively prevent the judgment
>> >> >   # (pre 3.4 behavior).
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # MASTER/SLAVE MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > master_slave_mode = on
>> >> >                                    # Activate master/slave mode
>> >> >                                    # (change requires restart)
>> >> > master_slave_sub_mode = 'stream'
>> >> >                                    # Master/slave sub mode
>> >> >                                    # Valid values are combinations
>> slony
>> >> or
>> >> >                                    # stream. Default is slony.
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Streaming -
>> >> >
>> >> > sr_check_period = 0
>> >> >                                    # Streaming replication check
>> period
>> >> >                                    # Disabled (0) by default
>> >> > sr_check_user = 'postgres'
>> >> >                                    # Streaming replication check user
>> >> >                                    # This is neccessary even if you
>> >> disable
>> >> > streaming
>> >> >                                    # replication delay check by
>> >> > sr_check_period = 0
>> >> > sr_check_password = 'xxx'
>> >> >                                    # Password for streaming
>> replication
>> >> > check user
>> >> > delay_threshold = 0
>> >> >                                    # Threshold before not dispatching
>> >> query
>> >> > to standby node
>> >> >                                    # Unit is in bytes
>> >> >                                    # Disabled (0) by default
>> >> >
>> >> > # - Special commands -
>> >> >
>> >> > follow_master_command = ''
>> >> >                                    # Executes this command after
>> master
>> >> > failover
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # HEALTH CHECK
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > health_check_period = 5
>> >> >                                    # Health check period
>> >> >                                    # Disabled (0) by default
>> >> > health_check_timeout = 0
>> >> >                                    # Health check timeout
>> >> >                                    # 0 means no timeout
>> >> > health_check_user = 'postgres'
>> >> >                                    # Health check user
>> >> > health_check_password = 'xxx'
>> >> >                                    # Password for health check user
>> >> > health_check_max_retries = 0
>> >> >                                    # Maximum number of times to
>> retry a
>> >> > failed health check before giving up.
>> >> > health_check_retry_delay = 1
>> >> >                                    # Amount of time to wait (in
>> seconds)
>> >> > between retries.
>> >> > connect_timeout = 10000
>> >> >                                    # Timeout value in milliseconds
>> before
>> >> > giving up to connect to backend.
>> >> >   # Default is 10000 ms (10 second). Flaky network user may want to
>> >> increase
>> >> >   # the value. 0 means no timeout.
>> >> >   # Note that this value is not only used for health check,
>> >> >   # but also for ordinary conection to backend.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # FAILOVER AND FAILBACK
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > failover_command = '/usr/local/etc/failover.sh %d %H
>> >> > /var/log/pgpool/trigger/trigger_file0'
>> >> >                                    # Executes this command at
>> failover
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> > failback_command = ''
>> >> >                                    # Executes this command at
>> failback.
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> >
>> >> > fail_over_on_backend_error = on
>> >> >                                    # Initiates failover when
>> >> > reading/writing to the
>> >> >                                    # backend communication socket
>> fails
>> >> >                                    # If set to off, pgpool will
>> report an
>> >> >                                    # error and disconnect the
>> session.
>> >> >
>> >> > search_primary_node_timeout = 10
>> >> >                                    # Timeout in seconds to search
>> for the
>> >> >                                    # primary node when a failover
>> occurs.
>> >> >                                    # 0 means no timeout, keep
>> searching
>> >> >                                    # for a primary node forever.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # ONLINE RECOVERY
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > recovery_user = 'postgres'
>> >> >                                    # Online recovery user
>> >> > recovery_password = 'xxx'
>> >> >                                    # Online recovery password
>> >> > recovery_1st_stage_command = 'recovery_1st_stage'
>> >> >                                    # Executes a command in first
>> stage
>> >> > recovery_2nd_stage_command = ''
>> >> >                                    # Executes a command in second
>> stage
>> >> > recovery_timeout = 90
>> >> >                                    # Timeout in seconds to wait for
>> the
>> >> >                                    # recovering node's postmaster to
>> >> start
>> >> > up
>> >> >                                    # 0 means no wait
>> >> > client_idle_limit_in_recovery = 0
>> >> >                                    # Client is disconnected after
>> being
>> >> idle
>> >> >                                    # for that many seconds in the
>> second
>> >> > stage
>> >> >                                    # of online recovery
>> >> >                                    # 0 means no disconnection
>> >> >                                    # -1 means immediate disconnection
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # WATCHDOG
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Enabling -
>> >> >
>> >> > use_watchdog = on
>> >> >                                     # Activates watchdog
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # -Connection to up stream servers -
>> >> >
>> >> > trusted_servers = ''
>> >> >                                     # trusted server list which are
>> used
>> >> >                                     # to confirm network connection
>> >> >                                     # (hostA,hostB,hostC,...)
>> >> >                                     # (change requires restart)
>> >> > ping_path = '/bin'
>> >> >                                     # ping command path
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Watchdog communication Settings -
>> >> >
>> >> > wd_hostname = 'SUYSevPrepDB01'
>> >> >                                     # Host name or IP address of this
>> >> > watchdog
>> >> >                                     # (change requires restart)
>> >> > wd_port = 9000
>> >> >                                     # port number for watchdog
>> service
>> >> >                                     # (change requires restart)
>> >> > wd_authkey = ''
>> >> >                                     # Authentication key for watchdog
>> >> > communication
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Virtual IP control Setting -
>> >> >
>> >> > delegate_IP = '192.168.140.112'
>> >> >                                     # delegate IP address
>> >> >                                     # If this is empty, virtual IP
>> never
>> >> > bring up.
>> >> >                                     # (change requires restart)
>> >> > ifconfig_path = '/apachebin'
>> >> >                                     # ifconfig command path
>> >> >                                     # (change requires restart)
>> >> > if_up_cmd = 'ifconfig eth1:0 inet $_IP_$ netmask 255.255.255.0'
>> >> >                                     # startup delegate IP command
>> >> >                                     # (change requires restart)
>> >> > if_down_cmd = 'ifconfig eth1:0 down'
>> >> >                                     # shutdown delegate IP command
>> >> >                                     # (change requires restart)
>> >> >
>> >> > arping_path = '/apachebin'
>> >> >                                     # (change requires restart)
>> >> >
>> >> > arping_cmd = 'arping -I  eth0 -U $_IP_$ -w 1'
>> >> >                                     # arping command
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Behaivor on escalation Setting -
>> >> >
>> >> > clear_memqcache_on_escalation = on
>> >> >                                     # Clear all the query cache on
>> shared
>> >> > memory
>> >> >                                     # when standby pgpool escalate to
>> >> > active pgpool
>> >> >                                     # (= virtual IP holder).
>> >> >                                     # This should be off if client
>> >> connects
>> >> > to pgpool
>> >> >                                     # not using virtual IP.
>> >> >                                     # (change requires restart)
>> >> > wd_escalation_command = ''
>> >> >                                     # Executes this command at
>> escalation
>> >> > on new active pgpool.
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Lifecheck Setting -
>> >> >
>> >> > # -- common --
>> >> >
>> >> > wd_lifecheck_method = 'heartbeat'
>> >> >                                     # Method of watchdog lifecheck
>> >> > ('heartbeat' or 'query')
>> >> >                                     # (change requires restart)
>> >> > wd_interval = 3
>> >> >                                     # lifecheck interval (sec) > 0
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # -- heartbeat mode --
>> >> >
>> >> > wd_heartbeat_port = 9694
>> >> >                                     # Port number for receiving
>> heartbeat
>> >> > signal
>> >> >                                     # (change requires restart)
>> >> > wd_heartbeat_keepalive = 2
>> >> >                                     # Interval time of sending
>> heartbeat
>> >> > signal (sec)
>> >> >                                     # (change requires restart)
>> >> > wd_heartbeat_deadtime = 30
>> >> >                                     # Deadtime interval for heartbeat
>> >> > signal (sec)
>> >> >                                     # (change requires restart)
>> >> >                                     # Host name or IP address of
>> >> > destination 0
>> >> >                                     # for sending heartbeat signal.
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number of destination 0
>> for
>> >> > sending
>> >> >                                     # heartbeat signal. Usually this
>> is
>> >> the
>> >> >                                     # same as wd_heartbeat_port.
>> >> >                                     # (change requires restart)
>> >> >                                     # Name of NIC device (such like
>> >> 'eth0')
>> >> >                                     # used for sending/receiving
>> >> heartbeat
>> >> >                                     # signal to/from destination 0.
>> >> >                                     # This works only when this is
>> not
>> >> empty
>> >> >                                     # and pgpool has root privilege.
>> >> >                                     # (change requires restart)
>> >> >
>> >> > #heartbeat_destination1 = 'host0_ip2'
>> >> > #heartbeat_destination_port1 = 9694
>> >> > #heartbeat_device1 = ''
>> >> >
>> >> > # -- query mode --
>> >> >
>> >> > wd_life_point = 3
>> >> >                                     # lifecheck retry times
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_query = 'SELECT 1'
>> >> >                                     # lifecheck query to pgpool from
>> >> > watchdog
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_dbname = 'template1'
>> >> >                                     # Database name connected for
>> >> lifecheck
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_user = ''
>> >> >                                     # watchdog user monitoring
>> pgpools in
>> >> > lifecheck
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_password = ''
>> >> >                                     # Password for watchdog user in
>> >> > lifecheck
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Other pgpool Connection Settings -
>> >> >
>> >> >                                     # Host name or IP address to
>> connect
>> >> to
>> >> > for other pgpool 0
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number for othet pgpool 0
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number for othet watchdog
>> 0
>> >> >                                     # (change requires restart)
>> >> > #other_pgpool_hostname1 = 'host1'
>> >> > #other_pgpool_port1 = 5432
>> >> > #other_wd_port1 = 9000
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # OTHERS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > relcache_expire = 0
>> >> >                                    # Life time of relation cache in
>> >> seconds.
>> >> >                                    # 0 means no cache expiration(the
>> >> > default).
>> >> >                                    # The relation cache is used for
>> cache
>> >> > the
>> >> >                                    # query result against PostgreSQL
>> >> system
>> >> >                                    # catalog to obtain various
>> >> information
>> >> >                                    # including table structures or if
>> >> it's a
>> >> >                                    # temporary table or not. The
>> cache is
>> >> >                                    # maintained in a pgpool child
>> local
>> >> > memory
>> >> >                                    # and being kept as long as it
>> >> survives.
>> >> >                                    # If someone modify the table by
>> using
>> >> >                                    # ALTER TABLE or some such, the
>> >> relcache
>> >> > is
>> >> >                                    # not consistent anymore.
>> >> >                                    # For this purpose,
>> cache_expiration
>> >> >                                    # controls the life time of the
>> cache.
>> >> > relcache_size = 256
>> >> >                                    # Number of relation cache
>> >> >                                    # entry. If you see frequently:
>> >> >   # "pool_search_relcache: cache replacement happend"
>> >> >   # in the pgpool log, you might want to increate this number.
>> >> >
>> >> > check_temp_table = on
>> >> >                                    # If on, enable temporary table
>> check
>> >> in
>> >> > SELECT statements.
>> >> >                                    # This initiates queries against
>> >> system
>> >> > catalog of primary/master
>> >> >   # thus increases load of master.
>> >> >   # If you are absolutely sure that your system never uses temporary
>> >> tables
>> >> >   # and you want to save access to primary/master, you could turn
>> this
>> >> off.
>> >> >   # Default is on.
>> >> >
>> >> > check_unlogged_table = off
>> >> >                                    # If on, enable unlogged table
>> check
>> >> in
>> >> > SELECT statements.
>> >> >                                    # This initiates queries against
>> >> system
>> >> > catalog of primary/master
>> >> >                                    # thus increases load of master.
>> >> >                                    # If you are absolutely sure that
>> your
>> >> > system never uses unlogged tables
>> >> >                                    # and you want to save access to
>> >> > primary/master, you could turn this off.
>> >> >                                    # Default is on.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # IN MEMORY QUERY MEMORY CACHE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > memory_cache_enabled = off
>> >> >   # If on, use the memory cache functionality, off by default
>> >> > memqcache_method = 'shmem'
>> >> >   # Cache storage method. either 'shmem'(shared memory) or
>> >> >   # 'memcached'. 'shmem' by default
>> >> >                                    # (change requires restart)
>> >> > memqcache_memcached_host = 'localhost'
>> >> >   # Memcached host name or IP address. Mandatory if
>> >> >   # memqcache_method = 'memcached'.
>> >> >   # Defaults to localhost.
>> >> >                                    # (change requires restart)
>> >> > memqcache_memcached_port = 11211
>> >> >   # Memcached port number. Mondatory if memqcache_method =
>> 'memcached'.
>> >> >   # Defaults to 11211.
>> >> >                                    # (change requires restart)
>> >> > memqcache_total_size = 67108864
>> >> >   # Total memory size in bytes for storing memory cache.
>> >> >   # Mandatory if memqcache_method = 'shmem'.
>> >> >   # Defaults to 64MB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_max_num_cache = 1000000
>> >> >   # Total number of cache entries. Mandatory
>> >> >   # if memqcache_method = 'shmem'.
>> >> >   # Each cache entry consumes 48 bytes on shared memory.
>> >> >   # Defaults to 1,000,000(45.8MB).
>> >> >                                    # (change requires restart)
>> >> > memqcache_expire = 0
>> >> >   # Memory cache entry life time specified in seconds.
>> >> >   # 0 means infinite life time. 0 by default.
>> >> >                                    # (change requires restart)
>> >> > memqcache_auto_cache_invalidation = on
>> >> >   # If on, invalidation of query cache is triggered by corresponding
>> >> >   # DDL/DML/DCL(and memqcache_expire).  If off, it is only triggered
>> >> >   # by memqcache_expire.  on by default.
>> >> >                                    # (change requires restart)
>> >> > memqcache_maxcache = 409600
>> >> >   # Maximum SELECT result size in bytes.
>> >> >   # Must be smaller than memqcache_cache_block_size. Defaults to
>> 400KB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_cache_block_size = 1048576
>> >> >   # Cache block size in bytes. Mandatory if memqcache_method =
>> 'shmem'.
>> >> >   # Defaults to 1MB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_oiddir = '/var/log/pgpool/oiddir'
>> >> >     # Temporary work directory to record table oids
>> >> >                                    # (change requires restart)
>> >> > white_memqcache_table_list = ''
>> >> >                                    # Comma separated list of table
>> names
>> >> to
>> >> > memcache
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > black_memqcache_table_list = ''
>> >> >                                    # Comma separated list of table
>> names
>> >> > not to memcache
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > ssl_key = ''
>> >> > ssl_cert = ''
>> >> > ssl_ca_cert = ''
>> >> > ssl_ca_cert_dir = ''
>> >> > log_error_verbosity = 'DEFAULT'
>> >> > client_min_messages = 'debug2'
>> >> > log_min_messages = 'debug2'
>> >> > backend_hostname0 = 'SUYSevPrepDB01'
>> >> > backend_port0 = 5432
>> >> > backend_weight0 = 1
>> >> > backend_data_directory0 = '/var/lib/pgsql/9.4/data'
>> >> > backend_flag0= 'ALLOW_TO_FAILOVER'
>> >> > backend_hostname1 = 'SUYSevPrepDB02'
>> >> > backend_port1 = 5432
>> >> > backend_weight1 = 1
>> >> > backend_data_directory1 = '/var/lib/pgsql/9.4/data'
>> >> > backend_flag1= 'ALLOW_TO_FAILOVER'
>> >> > other_pgpool_hostname0 = 'SUYSevPrepDB02'
>> >> > other_pgpool_port0 = 9999
>> >> > other_wd_port0 = 9000
>> >> > heartbeat_destination0 = 'SUYSevPrepDB02'
>> >> > heartbeat_destination_port0 = 9694
>> >> > heartbeat_device0 = ''
>> >> >
>> >> > # use another authentication method.
>> >> >
>> >> >
>> >> > # TYPE  DATABASE        USER            ADDRESS
>>  METHOD
>> >> >
>> >> > # "local" is for Unix domain socket connections only
>> >> > local   all             all                                     md5
>> >> > # IPv4 local connections:
>> >> > host    all             all             127.0.0.1/32            md5
>> >> > host    all             all             0.0.0.0/0               md5
>> >> > # IPv6 local connections:
>> >> > # Allow replication connections from localhost, by a user with the
>> >> > # replication privilege.
>> >> > local   replication     postgres                                trust
>> >> > host    replication     replication        0.0.0.0/0
>> trust
>> >> > #host    replication     postgres        ::1/128
>>  trust
>> >> > "9.4/data/pg_hba.conf" 93L, 4422C
>> >> >
>> >> >
>> >> > Slave pgpool.conf and pg_hba.conf
>> >> >
>> >> >
>> >> > # ----------------------------
>> >> > # pgPool-II configuration file
>> >> > # ----------------------------
>> >> > #
>> >> > # This file consists of lines of the form:
>> >> > #
>> >> > #   name = value
>> >> > #
>> >> > # Whitespace may be used.  Comments are introduced with "#" anywhere
>> on a
>> >> > line.
>> >> > # The complete list of parameter names and allowed values can be
>> found in
>> >> > the
>> >> > # pgPool-II documentation.
>> >> > #
>> >> > # This file is read on server startup and when the server receives a
>> >> SIGHUP
>> >> > # signal.  If you edit the file on a running system, you have to
>> SIGHUP
>> >> the
>> >> > # server for the changes to take effect, or use "pgpool reload".
>> Some
>> >> > # parameters, which are marked below, require a server shutdown and
>> >> restart
>> >> > to
>> >> > # take effect.
>> >> > #
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # CONNECTIONS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - pgpool Connection Settings -
>> >> >
>> >> > listen_addresses = '*'
>> >> >                                    # Host name or IP address to
>> listen
>> >> on:
>> >> >                                    # '*' for all, '' for no TCP/IP
>> >> > connections
>> >> >                                    # (change requires restart)
>> >> > port = 9999
>> >> >                                    # Port number
>> >> >                                    # (change requires restart)
>> >> > socket_dir = '/tmp'
>> >> >                                    # Unix domain socket path
>> >> >                                    # The Debian package defaults to
>> >> >                                    # /var/run/postgresql
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> > # - pgpool Communication Manager Connection Settings -
>> >> >
>> >> > pcp_listen_addresses = '*'
>> >> >                                    # Host name or IP address for pcp
>> >> > process to listen on:
>> >> >                                    # '*' for all, '' for no TCP/IP
>> >> > connections
>> >> >                                    # (change requires restart)
>> >> > pcp_port = 9898
>> >> >                                    # Port number for pcp
>> >> >                                    # (change requires restart)
>> >> > pcp_socket_dir = '/tmp'
>> >> >                                    # Unix domain socket path for pcp
>> >> >                                    # The Debian package defaults to
>> >> >                                    # /var/run/postgresql
>> >> >                                    # (change requires restart)
>> >> > listen_backlog_multiplier = 2
>> >> >                                    # Set the backlog parameter of
>> >> listen(2)
>> >> > to
>> >> >   # num_init_children * listen_backlog_multiplier.
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Backend Connection Settings -
>> >> >
>> >> >                                    # Host name or IP address to
>> connect
>> >> to
>> >> > for backend 0
>> >> >                                    # Port number for backend 0
>> >> >                                    # Weight for backend 0 (only in
>> load
>> >> > balancing mode)
>> >> >                                    # Data directory for backend 0
>> >> >                                    # Controls various backend
>> behavior
>> >> >                                    # ALLOW_TO_FAILOVER or
>> >> > DISALLOW_TO_FAILOVER
>> >> >
>> >> > # - Authentication -
>> >> >
>> >> > enable_pool_hba = on
>> >> >                                    # Use pool_hba.conf for client
>> >> > authentication
>> >> > pool_passwd = 'pool_passwd'
>> >> >                                    # File name of pool_passwd for md5
>> >> > authentication.
>> >> >                                    # "" disables pool_passwd.
>> >> >                                    # (change requires restart)
>> >> > authentication_timeout = 60
>> >> >                                    # Delay in seconds to complete
>> client
>> >> > authentication
>> >> >                                    # 0 means no timeout.
>> >> >
>> >> > # - SSL Connections -
>> >> >
>> >> > ssl = off
>> >> >                                    # Enable SSL support
>> >> >                                    # (change requires restart)
>> >> > #ssl_key = './server.key'
>> >> >                                    # Path to the SSL private key file
>> >> >                                    # (change requires restart)
>> >> > #ssl_cert = './server.cert'
>> >> >                                    # Path to the SSL public
>> certificate
>> >> file
>> >> >                                    # (change requires restart)
>> >> > #ssl_ca_cert = ''
>> >> >                                    # Path to a single PEM format file
>> >> >                                    # containing CA root
>> certificate(s)
>> >> >                                    # (change requires restart)
>> >> > #ssl_ca_cert_dir = ''
>> >> >                                    # Directory containing CA root
>> >> > certificate(s)
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # POOLS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Pool size -
>> >> >
>> >> > num_init_children = 32
>> >> >                                    # Number of pools
>> >> >                                    # (change requires restart)
>> >> > max_pool = 4
>> >> >                                    # Number of connections per pool
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Life time -
>> >> >
>> >> > child_life_time = 300
>> >> >                                    # Pool exits after being idle for
>> this
>> >> > many seconds
>> >> > child_max_connections = 0
>> >> >                                    # Pool exits after receiving that
>> many
>> >> > connections
>> >> >                                    # 0 means no exit
>> >> > connection_life_time = 0
>> >> >                                    # Connection to backend closes
>> after
>> >> > being idle for this many seconds
>> >> >                                    # 0 means no close
>> >> > client_idle_limit = 0
>> >> >                                    # Client is disconnected after
>> being
>> >> > idle for that many seconds
>> >> >                                    # (even inside an explicit
>> >> transactions!)
>> >> >                                    # 0 means no disconnection
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # LOGS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Where to log -
>> >> >
>> >> > log_destination = 'syslog'
>> >> >                                    # Where to log
>> >> >                                    # Valid values are combinations of
>> >> > stderr,
>> >> >                                    # and syslog. Default to stderr.
>> >> >
>> >> > # - What to log -
>> >> >
>> >> > log_line_prefix = '%t: pid %p:    # printf-style string to output at
>> >> > beginning of each log line.'
>> >> >
>> >> > log_connections = off
>> >> >                                    # Log connections
>> >> > log_hostname = on
>> >> >                                    # Hostname will be shown in ps
>> status
>> >> >                                    # and in logs if connections are
>> >> logged
>> >> > log_statement = on
>> >> >                                    # Log all statements
>> >> > log_per_node_statement = on
>> >> >                                    # Log all statements
>> >> >                                    # with node and backend
>> informations
>> >> > log_standby_delay = 'if_over_threshold'
>> >> >                                    # Log standby delay
>> >> >                                    # Valid values are combinations of
>> >> > always,
>> >> >                                    # if_over_threshold, none
>> >> >
>> >> > # - Syslog specific -
>> >> >
>> >> > syslog_facility = 'LOCAL0'
>> >> >                                    # Syslog local facility. Default
>> to
>> >> > LOCAL0
>> >> > syslog_ident = 'pgpool'
>> >> >                                    # Syslog program identification
>> string
>> >> >                                    # Default to 'pgpool'
>> >> >
>> >> > # - Debug -
>> >> >
>> >> > debug_level = 2
>> >> >                                    # Debug message verbosity level
>> >> >                                    # 0 means no message, 1 or more
>> mean
>> >> > verbose
>> >> >
>> >> > #log_error_verbosity = default          # terse, default, or verbose
>> >> > messages
>> >> >
>> >> > #client_min_messages = notice           # values in order of
>> decreasing
>> >> > detail:
>> >> >                                         #   debug5
>> >> >                                         #   debug4
>> >> >                                         #   debug3
>> >> >                                         #   debug2
>> >> >                                         #   debug1
>> >> >                                         #   log
>> >> >                                         #   notice
>> >> >                                         #   warning
>> >> >                                         #   error
>> >> >
>> >> > #log_min_messages = warning             # values in order of
>> decreasing
>> >> > detail:
>> >> >                                         #   debug5
>> >> >                                         #   debug4
>> >> >                                         #   debug3
>> >> >                                         #   debug2
>> >> >                                         #   debug1
>> >> >                                         #   info
>> >> >                                         #   notice
>> >> >                                         #   warning
>> >> >                                         #   error
>> >> >                                         #   log
>> >> >                                         #   fatal
>> >> >                                         #   panic
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # FILE LOCATIONS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > pid_file_name = '/var/run/pgpool/pgpool.pid'
>> >> >                                    # PID file name
>> >> >                                    # (change requires restart)
>> >> > logdir = '/tmp'
>> >> >                                    # Directory of pgPool status file
>> >> >                                    # (change requires restart)
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # CONNECTION POOLING
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > connection_cache = on
>> >> >                                    # Activate connection pools
>> >> >                                    # (change requires restart)
>> >> >
>> >> >                                    # Semicolon separated list of
>> queries
>> >> >                                    # to be issued at the end of a
>> session
>> >> >                                    # The default is for 8.3 and later
>> >> > reset_query_list = 'ABORT; DISCARD ALL'
>> >> >                                    # The following one is for 8.2 and
>> >> before
>> >> > #reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION
>> DEFAULT'
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # REPLICATION MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > replication_mode = off
>> >> >                                    # Activate replication mode
>> >> >                                    # (change requires restart)
>> >> > replicate_select = off
>> >> >                                    # Replicate SELECT statements
>> >> >                                    # when in replication mode
>> >> >                                    # replicate_select is higher
>> priority
>> >> > than
>> >> >                                    # load_balance_mode.
>> >> >
>> >> > insert_lock = off
>> >> >                                    # Automatically locks a dummy row
>> or a
>> >> > table
>> >> >                                    # with INSERT statements to keep
>> >> SERIAL
>> >> > data
>> >> >                                    # consistency
>> >> >                                    # Without SERIAL, no lock will be
>> >> issued
>> >> > lobj_lock_table = ''
>> >> >                                    # When rewriting lo_creat command
>> in
>> >> >                                    # replication mode, specify table
>> >> name to
>> >> >                                    # lock
>> >> >
>> >> > # - Degenerate handling -
>> >> >
>> >> > replication_stop_on_mismatch = off
>> >> >                                    # On disagreement with the packet
>> kind
>> >> >                                    # sent from backend, degenerate
>> the
>> >> node
>> >> >                                    # which is most likely "minority"
>> >> >                                    # If off, just force to exit this
>> >> session
>> >> >
>> >> > failover_if_affected_tuples_mismatch = off
>> >> >                                    # On disagreement with the number
>> of
>> >> > affected
>> >> >                                    # tuples in UPDATE/DELETE queries,
>> >> then
>> >> >                                    # degenerate the node which is
>> most
>> >> > likely
>> >> >                                    # "minority".
>> >> >                                    # If off, just abort the
>> transaction
>> >> to
>> >> >                                    # keep the consistency
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # LOAD BALANCING MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > load_balance_mode = on
>> >> >                                    # Activate load balancing mode
>> >> >                                    # (change requires restart)
>> >> > ignore_leading_white_space = on
>> >> >                                    # Ignore leading white spaces of
>> each
>> >> > query
>> >> > white_function_list = ''
>> >> >                                    # Comma separated list of function
>> >> names
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > black_function_list = 'currval,lastval,nextval,setval'
>> >> >                                    # Comma separated list of function
>> >> names
>> >> >                                    # that write to database
>> >> >                                    # Regexp are accepted
>> >> >
>> >> > database_redirect_preference_list = ''
>> >> >   # comma separated list of pairs of database and node id.
>> >> >   # example: postgres:primary,mydb[0-4]:1,mydb[5-9]:2'
>> >> >   # valid for streaming replicaton mode only.
>> >> >
>> >> > app_name_redirect_preference_list = ''
>> >> >   # comma separated list of pairs of app name and node id.
>> >> >   # example: 'psql:primary,myapp[0-4]:1,myapp[5-9]:standby'
>> >> >   # valid for streaming replicaton mode only.
>> >> > allow_sql_comments = off
>> >> >   # if on, ignore SQL comments when judging if load balance or
>> >> >   # query cache is possible.
>> >> >   # If off, SQL comments effectively prevent the judgment
>> >> >   # (pre 3.4 behavior).
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # MASTER/SLAVE MODE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > master_slave_mode = on
>> >> >                                    # Activate master/slave mode
>> >> >                                    # (change requires restart)
>> >> > master_slave_sub_mode = 'stream'
>> >> >                                    # Master/slave sub mode
>> >> >                                    # Valid values are combinations
>> slony
>> >> or
>> >> >                                    # stream. Default is slony.
>> >> >                                    # (change requires restart)
>> >> >
>> >> > # - Streaming -
>> >> >
>> >> > sr_check_period = 0
>> >> >                                    # Streaming replication check
>> period
>> >> >                                    # Disabled (0) by default
>> >> > sr_check_user = 'postgres'
>> >> >                                    # Streaming replication check user
>> >> >                                    # This is neccessary even if you
>> >> disable
>> >> > streaming
>> >> >                                    # replication delay check by
>> >> > sr_check_period = 0
>> >> > sr_check_password = 'xxx'
>> >> >                                    # Password for streaming
>> replication
>> >> > check user
>> >> > delay_threshold = 0
>> >> >                                    # Threshold before not dispatching
>> >> query
>> >> > to standby node
>> >> >                                    # Unit is in bytes
>> >> >                                    # Disabled (0) by default
>> >> >
>> >> > # - Special commands -
>> >> >
>> >> > follow_master_command = ''
>> >> >                                    # Executes this command after
>> master
>> >> > failover
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # HEALTH CHECK
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > health_check_period = 5
>> >> >                                    # Health check period
>> >> >                                    # Disabled (0) by default
>> >> > health_check_timeout = 0
>> >> >                                    # Health check timeout
>> >> >                                    # 0 means no timeout
>> >> > health_check_user = 'postgres'
>> >> >                                    # Health check user
>> >> > health_check_password = 'xxx'
>> >> >                                    # Password for health check user
>> >> > health_check_max_retries = 0
>> >> >                                    # Maximum number of times to
>> retry a
>> >> > failed health check before giving up.
>> >> > health_check_retry_delay = 1
>> >> >                                    # Amount of time to wait (in
>> seconds)
>> >> > between retries.
>> >> > connect_timeout = 10000
>> >> >                                    # Timeout value in milliseconds
>> before
>> >> > giving up to connect to backend.
>> >> >   # Default is 10000 ms (10 second). Flaky network user may want to
>> >> increase
>> >> >   # the value. 0 means no timeout.
>> >> >   # Note that this value is not only used for health check,
>> >> >   # but also for ordinary conection to backend.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # FAILOVER AND FAILBACK
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > failover_command = '/usr/local/etc/failover.sh %d %H
>> >> > /var/log/pgpool/trigger/trigger_file0'
>> >> >                                    # Executes this command at
>> failover
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> > failback_command = ''
>> >> >                                    # Executes this command at
>> failback.
>> >> >                                    # Special values:
>> >> >                                    #   %d = node id
>> >> >                                    #   %h = host name
>> >> >                                    #   %p = port number
>> >> >                                    #   %D = database cluster path
>> >> >                                    #   %m = new master node id
>> >> >                                    #   %H = hostname of the new
>> master
>> >> node
>> >> >                                    #   %M = old master node id
>> >> >                                    #   %P = old primary node id
>> >> >   #   %r = new master port number
>> >> >   #   %R = new master database cluster path
>> >> >                                    #   %% = '%' character
>> >> >
>> >> > fail_over_on_backend_error = on
>> >> >                                    # Initiates failover when
>> >> > reading/writing to the
>> >> >                                    # backend communication socket
>> fails
>> >> >                                    # If set to off, pgpool will
>> report an
>> >> >                                    # error and disconnect the
>> session.
>> >> >
>> >> > search_primary_node_timeout = 10
>> >> >                                    # Timeout in seconds to search
>> for the
>> >> >                                    # primary node when a failover
>> occurs.
>> >> >                                    # 0 means no timeout, keep
>> searching
>> >> >                                    # for a primary node forever.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # ONLINE RECOVERY
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > recovery_user = 'postgres'
>> >> >                                    # Online recovery user
>> >> > recovery_password = 'xxx'
>> >> >                                    # Online recovery password
>> >> > recovery_1st_stage_command = 'recovery_1st_stage'
>> >> >                                    # Executes a command in first
>> stage
>> >> > recovery_2nd_stage_command = ''
>> >> >                                    # Executes a command in second
>> stage
>> >> > recovery_timeout = 90
>> >> >                                    # Timeout in seconds to wait for
>> the
>> >> >                                    # recovering node's postmaster to
>> >> start
>> >> > up
>> >> >                                    # 0 means no wait
>> >> > client_idle_limit_in_recovery = 0
>> >> >                                    # Client is disconnected after
>> being
>> >> idle
>> >> >                                    # for that many seconds in the
>> second
>> >> > stage
>> >> >                                    # of online recovery
>> >> >                                    # 0 means no disconnection
>> >> >                                    # -1 means immediate disconnection
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # WATCHDOG
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> >
>> >> > # - Enabling -
>> >> >
>> >> > use_watchdog = on
>> >> >                                     # Activates watchdog
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # -Connection to up stream servers -
>> >> >
>> >> > trusted_servers = ''
>> >> >                                     # trusted server list which are
>> used
>> >> >                                     # to confirm network connection
>> >> >                                     # (hostA,hostB,hostC,...)
>> >> >                                     # (change requires restart)
>> >> > ping_path = '/bin'
>> >> >                                     # ping command path
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Watchdog communication Settings -
>> >> >
>> >> > wd_hostname = 'SUYSevPrepDB02'
>> >> >                                     # Host name or IP address of this
>> >> > watchdog
>> >> >                                     # (change requires restart)
>> >> > wd_port = 9000
>> >> >                                     # port number for watchdog
>> service
>> >> >                                     # (change requires restart)
>> >> > wd_authkey = ''
>> >> >                                     # Authentication key for watchdog
>> >> > communication
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Virtual IP control Setting -
>> >> >
>> >> > delegate_IP = '192.168.140.112'
>> >> >                                     # delegate IP address
>> >> >                                     # If this is empty, virtual IP
>> never
>> >> > bring up.
>> >> >                                     # (change requires restart)
>> >> > ifconfig_path = '/apachebin'
>> >> >                                     # ifconfig command path
>> >> >                                     # (change requires restart)
>> >> > if_up_cmd = 'ifconfig eth1:0 inet $_IP_$ netmask 255.255.255.0'
>> >> >                                     # startup delegate IP command
>> >> >                                     # (change requires restart)
>> >> > if_down_cmd = 'ifconfig eth1:0 down'
>> >> >                                     # shutdown delegate IP command
>> >> >                                     # (change requires restart)
>> >> >
>> >> > arping_path = '/apachebin'
>> >> >                                     # (change requires restart)
>> >> >
>> >> > arping_cmd = 'arping -I  eth0 -U $_IP_$ -w 1'
>> >> >                                     # arping command
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Behaivor on escalation Setting -
>> >> >
>> >> > clear_memqcache_on_escalation = on
>> >> >                                     # Clear all the query cache on
>> shared
>> >> > memory
>> >> >                                     # when standby pgpool escalate to
>> >> > active pgpool
>> >> >                                     # (= virtual IP holder).
>> >> >                                     # This should be off if client
>> >> connects
>> >> > to pgpool
>> >> >                                     # not using virtual IP.
>> >> >                                     # (change requires restart)
>> >> > wd_escalation_command = ''
>> >> >                                     # Executes this command at
>> escalation
>> >> > on new active pgpool.
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Lifecheck Setting -
>> >> >
>> >> > # -- common --
>> >> >
>> >> > wd_lifecheck_method = 'heartbeat'
>> >> >                                     # Method of watchdog lifecheck
>> >> > ('heartbeat' or 'query')
>> >> >                                     # (change requires restart)
>> >> > wd_interval = 3
>> >> >                                     # lifecheck interval (sec) > 0
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # -- heartbeat mode --
>> >> >
>> >> > wd_heartbeat_port = 9694
>> >> >                                     # Port number for receiving
>> heartbeat
>> >> > signal
>> >> >                                     # (change requires restart)
>> >> > wd_heartbeat_keepalive = 2
>> >> >                                     # Interval time of sending
>> heartbeat
>> >> > signal (sec)
>> >> >                                     # (change requires restart)
>> >> > wd_heartbeat_deadtime = 30
>> >> >                                     # Deadtime interval for heartbeat
>> >> > signal (sec)
>> >> >                                     # (change requires restart)
>> >> >                                     # Host name or IP address of
>> >> > destination 0
>> >> >                                     # for sending heartbeat signal.
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number of destination 0
>> for
>> >> > sending
>> >> >                                     # heartbeat signal. Usually this
>> is
>> >> the
>> >> >                                     # same as wd_heartbeat_port.
>> >> >                                     # (change requires restart)
>> >> >                                     # Name of NIC device (such like
>> >> 'eth0')
>> >> >                                     # used for sending/receiving
>> >> heartbeat
>> >> >                                     # signal to/from destination 0.
>> >> >                                     # This works only when this is
>> not
>> >> empty
>> >> >                                     # and pgpool has root privilege.
>> >> >                                     # (change requires restart)
>> >> >
>> >> > #heartbeat_destination1 = 'host0_ip2'
>> >> > #heartbeat_destination_port1 = 9694
>> >> > #heartbeat_device1 = ''
>> >> >
>> >> > # -- query mode --
>> >> >
>> >> > wd_life_point = 3
>> >> >                                     # lifecheck retry times
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_query = 'SELECT 1'
>> >> >                                     # lifecheck query to pgpool from
>> >> > watchdog
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_dbname = 'template1'
>> >> >                                     # Database name connected for
>> >> lifecheck
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_user = ''
>> >> >                                     # watchdog user monitoring
>> pgpools in
>> >> > lifecheck
>> >> >                                     # (change requires restart)
>> >> > wd_lifecheck_password = ''
>> >> >                                     # Password for watchdog user in
>> >> > lifecheck
>> >> >                                     # (change requires restart)
>> >> >
>> >> > # - Other pgpool Connection Settings -
>> >> >
>> >> >                                     # Host name or IP address to
>> connect
>> >> to
>> >> > for other pgpool 0
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number for othet pgpool 0
>> >> >                                     # (change requires restart)
>> >> >                                     # Port number for othet watchdog
>> 0
>> >> >                                     # (change requires restart)
>> >> > #other_pgpool_hostname1 = 'host1'
>> >> > #other_pgpool_port1 = 5432
>> >> > #other_wd_port1 = 9000
>> >> >
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # OTHERS
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > relcache_expire = 0
>> >> >                                    # Life time of relation cache in
>> >> seconds.
>> >> >                                    # 0 means no cache expiration(the
>> >> > default).
>> >> >                                    # The relation cache is used for
>> cache
>> >> > the
>> >> >                                    # query result against PostgreSQL
>> >> system
>> >> >                                    # catalog to obtain various
>> >> information
>> >> >                                    # including table structures or if
>> >> it's a
>> >> >                                    # temporary table or not. The
>> cache is
>> >> >                                    # maintained in a pgpool child
>> local
>> >> > memory
>> >> >                                    # and being kept as long as it
>> >> survives.
>> >> >                                    # If someone modify the table by
>> using
>> >> >                                    # ALTER TABLE or some such, the
>> >> relcache
>> >> > is
>> >> >                                    # not consistent anymore.
>> >> >                                    # For this purpose,
>> cache_expiration
>> >> >                                    # controls the life time of the
>> cache.
>> >> > relcache_size = 256
>> >> >                                    # Number of relation cache
>> >> >                                    # entry. If you see frequently:
>> >> >   # "pool_search_relcache: cache replacement happend"
>> >> >   # in the pgpool log, you might want to increate this number.
>> >> >
>> >> > check_temp_table = on
>> >> >                                    # If on, enable temporary table
>> check
>> >> in
>> >> > SELECT statements.
>> >> >                                    # This initiates queries against
>> >> system
>> >> > catalog of primary/master
>> >> >   # thus increases load of master.
>> >> >   # If you are absolutely sure that your system never uses temporary
>> >> tables
>> >> >   # and you want to save access to primary/master, you could turn
>> this
>> >> off.
>> >> >   # Default is on.
>> >> >
>> >> > check_unlogged_table = off
>> >> >                                    # If on, enable unlogged table
>> check
>> >> in
>> >> > SELECT statements.
>> >> >                                    # This initiates queries against
>> >> system
>> >> > catalog of primary/master
>> >> >                                    # thus increases load of master.
>> >> >                                    # If you are absolutely sure that
>> your
>> >> > system never uses unlogged tables
>> >> >                                    # and you want to save access to
>> >> > primary/master, you could turn this off.
>> >> >                                    # Default is on.
>> >> >
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > # IN MEMORY QUERY MEMORY CACHE
>> >> >
>> >>
>> #------------------------------------------------------------------------------
>> >> > memory_cache_enabled = off
>> >> >   # If on, use the memory cache functionality, off by default
>> >> > memqcache_method = 'shmem'
>> >> >   # Cache storage method. either 'shmem'(shared memory) or
>> >> >   # 'memcached'. 'shmem' by default
>> >> >                                    # (change requires restart)
>> >> > memqcache_memcached_host = 'localhost'
>> >> >   # Memcached host name or IP address. Mandatory if
>> >> >   # memqcache_method = 'memcached'.
>> >> >   # Defaults to localhost.
>> >> >                                    # (change requires restart)
>> >> > memqcache_memcached_port = 11211
>> >> >   # Memcached port number. Mondatory if memqcache_method =
>> 'memcached'.
>> >> >   # Defaults to 11211.
>> >> >                                    # (change requires restart)
>> >> > memqcache_total_size = 67108864
>> >> >   # Total memory size in bytes for storing memory cache.
>> >> >   # Mandatory if memqcache_method = 'shmem'.
>> >> >   # Defaults to 64MB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_max_num_cache = 1000000
>> >> >   # Total number of cache entries. Mandatory
>> >> >   # if memqcache_method = 'shmem'.
>> >> >   # Each cache entry consumes 48 bytes on shared memory.
>> >> >   # Defaults to 1,000,000(45.8MB).
>> >> >                                    # (change requires restart)
>> >> > memqcache_expire = 0
>> >> >   # Memory cache entry life time specified in seconds.
>> >> >   # 0 means infinite life time. 0 by default.
>> >> >                                    # (change requires restart)
>> >> > memqcache_auto_cache_invalidation = on
>> >> >   # If on, invalidation of query cache is triggered by corresponding
>> >> >   # DDL/DML/DCL(and memqcache_expire).  If off, it is only triggered
>> >> >   # by memqcache_expire.  on by default.
>> >> >                                    # (change requires restart)
>> >> > memqcache_maxcache = 409600
>> >> >   # Maximum SELECT result size in bytes.
>> >> >   # Must be smaller than memqcache_cache_block_size. Defaults to
>> 400KB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_cache_block_size = 1048576
>> >> >   # Cache block size in bytes. Mandatory if memqcache_method =
>> 'shmem'.
>> >> >   # Defaults to 1MB.
>> >> >                                    # (change requires restart)
>> >> > memqcache_oiddir = '/var/log/pgpool/oiddir'
>> >> >     # Temporary work directory to record table oids
>> >> >                                    # (change requires restart)
>> >> > white_memqcache_table_list = ''
>> >> >                                    # Comma separated list of table
>> names
>> >> to
>> >> > memcache
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > black_memqcache_table_list = ''
>> >> >                                    # Comma separated list of table
>> names
>> >> > not to memcache
>> >> >                                    # that don't write to database
>> >> >                                    # Regexp are accepted
>> >> > ssl_key = ''
>> >> > ssl_cert = ''
>> >> > ssl_ca_cert = ''
>> >> > ssl_ca_cert_dir = ''
>> >> > log_error_verbosity = 'DEFAULT'
>> >> > client_min_messages = 'notice'
>> >> > log_min_messages = 'warning'
>> >> > backend_hostname0 = 'SUYSevPrepDB01'
>> >> > backend_port0 = 5432
>> >> > backend_weight0 = 1
>> >> > backend_data_directory0 = '/var/lib/pgsql/9.4/data'
>> >> > backend_flag0= 'ALLOW_TO_FAILOVER'
>> >> > backend_hostname1 = 'SUYSevPrepDB02'
>>
>
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
>
> ...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20160414/721ea9be/attachment-0001.html>


More information about the pgpool-general mailing list