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

Daniel Gallo danielito.gallo at gmail.com
Tue Apr 12 05:35:10 JST 2016


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'
> >> > 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
> >> >> >>>
> >> >> >>>
> >> >>
> >>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20160411/74b36b08/attachment-0001.html>


More information about the pgpool-general mailing list