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

Tatsuo Ishii ishii at postgresql.org
Sat Apr 9 08:56:17 JST 2016


> 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'
>> > backend_port1 = 5432
>> > backend_weight1 = 1
>> > backend_data_directory1 = '/var/lib/pgsql/9.4/data'
>> > backend_flag1= 'ALLOW_TO_FAILOVER'
>> > other_pgpool_hostname0 = 'SUYSevPrepDB01'
>> > other_pgpool_port0 = 9999
>> > other_wd_port0 = 9000
>> > heartbeat_destination0 = 'SUYSevPrepDB01'
>> > heartbeat_destination_port0 = 9694
>> > heartbeat_device0 = ''
>> >
>> > # 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
>> >
>> >
>> > 2016-04-07 19:31 GMT-03:00 Tatsuo Ishii <ishii at postgresql.org>:
>> >
>> >> >>> *DETALLE:  message length (12) in slot 1 does not match with slot
>> 0(8)*
>> >>
>> >> Probably a configuration mismatch in PostgreSQL server #0 and
>> >> PostgreSQL server #1. From reading the message above, server #0 asks
>> >> trust authentication (no password), while server #1 requires certain
>> >> authentication (possibly md5). Showing full pgpool.conf and
>> >> pg_hba.conf from both PostgreSQL servers will reveal this.
>> >>
>> >> Best regards,
>> >> --
>> >> Tatsuo Ishii
>> >> SRA OSS, Inc. Japan
>> >> English: http://www.sraoss.co.jp/index_en.php
>> >> Japanese:http://www.sraoss.co.jp
>> >>
>> >> > Lucas is the same error!!!!
>> >> >
>> >> >
>> >> > Apr 7 16:14:24 localhost pgpool[14839]: [40-1] 2016-04-07 16:14:24:
>> pid
>> >> > 14839: # printf-style string to output at beginning of each log
>> >> line.ERROR:
>> >> > unable to read message length
>> >> > Apr 7 16:14:24 localhost pgpool[14839]: [40-2] 2016-04-07 16:14:24:
>> pid
>> >> > 14839: # printf-style string to output at beginning of each log
>> >> > line.DETAIL: message length (12) in slot 1 does not match with slot 0
>> >> >
>> >> > 2016-04-07 15:52 GMT-03:00 Lucas Luengas <lucasluengas at gmail.com>:
>> >> >
>> >> >> Hello
>> >> >> You can check pgpool log and postgresql log when you run that psql
>> >> command.
>> >> >> Regards.
>> >> >> On Apr 6, 2016 8:30 PM, "Daniel Gallo" <danielito.gallo at gmail.com>
>> >> wrote:
>> >> >>
>> >> >>> Dear I'm trying to run the following and I get the following error
>> and
>> >> I
>> >> >>> can not figure out what the problem is , I could help ?
>> >> >>>
>> >> >>>
>> >> >>> Any information that need be notified me and sent them
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> Thanks a lots!!!!!
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> -bash-4.2$ psql -h localhost -U postgres -p 5432
>> >> >>>
>> >> >>> psql (9.4.4)
>> >> >>>
>> >> >>> Digite «help» para obtener ayuda.
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> postgres=#
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> *-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)*
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> Any idea?
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> *pg_hba.conf*
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> # 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
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> -rwxrw-r--. 1 apache apache 33283 abr  1 15:49 pgpool.conf
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> *pgpool.conf*
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> # - 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.
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> -rw-r--r--. 1 apache root      42 feb 29 18:28 pool_passwd
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> postgres:5c0435eee0f211f150e980e459151xxx
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> -rwxrw-r--. 1 root   root    3295 mar  3 18:19 pool_hba.conf
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> # TYPE  DATABASE    USER        CIDR-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
>> >> >>>
>> >> >>> #host    all         all         ::1/128               trust
>> >> >>>
>> >> >>> _______________________________________________
>> >> >>> pgpool-general mailing list
>> >> >>> pgpool-general at pgpool.net
>> >> >>> http://www.pgpool.net/mailman/listinfo/pgpool-general
>> >> >>>
>> >> >>>
>> >>
>>


More information about the pgpool-general mailing list