[pgpool-general: 4100] Re: issue with single node failover
Tatsuo Ishii
ishii at postgresql.org
Fri Oct 9 13:36:08 JST 2015
Unfortunately, your patch does not fix the problem.
Also your patch does not address the typo problem.
>> Also "atleast" seems a typo.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
> Hi
>
> I have found the problem and attached is the patch for the fix.
> I will check-in the patch after executing the regression test. Meanwhile,
> you can also test it
>
> Thanks
> Best regards
> Muhammad Usama
>
>
> On Wed, Oct 7, 2015 at 4:17 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
>
>> I have confirmed the problem is in 3.4.0 or later, not in 3.3.x or
>> before.
>>
>> Usama,
>>
>> Can you please take care of this? It seems the problem was introduced
>> in 3.4.0.
>>
>> protocol/child.c:
>>
>> /* In non parallel mode single valid backend is all we need
>> * to continue
>> */
>> if(valid_backends == 0)
>> {
>> fatal_error = true;
>> error_msg = "pgpool is not accepting any new
>> connections";
>> error_detail = "all backend nodes are down, pgpool
>> requires atleast one valid node";
>> error_hint = "repair the backend nodes and restart
>> pgpool";
>> }
>>
>> Also "atleast" seems a typo.
>>
>> Best regards,
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese:http://www.sraoss.co.jp
>>
>> > I have pgpool 3.4.3 (from the pgdb93 repo) setup in raw mode pointing to
>> a
>> > single backend node on a separate server. I would like set pgpool to
>> > failover to the single node and attempt to reconnect indefinitely. For
>> > some reason I can't get the config right or it may be a bug? I have it
>> > working in a different environment using pgpool 3.2 from the epel repo
>> >
>> > Any help would be greatly appreciated.
>> >
>> >
>> > # Log
>> >
>> > 2015-10-06 09:45:49: pid 13371: DETAIL: postmaster on DB node 0 was
>> > shutdown by administrative command
>> > 2015-10-06 09:45:49: pid 13371: LOG: received degenerate backend request
>> > for node_id: 0 from pid [13371]
>> > 2015-10-06 09:45:49: pid 13361: LOG: starting degeneration. shutdown
>> host
>> > 172.16.0.59(5432)
>> > 2015-10-06 09:45:49: pid 13361: LOG: failover: no valid backends node
>> found
>> > 2015-10-06 09:45:49: pid 13361: LOG: Restart all children
>> > 2015-10-06 09:45:49: pid 13361: LOG: failover: set new primary node: -1
>> > 2015-10-06 09:45:49: pid 13374: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13370: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13376: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13367: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13363: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13373: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13372: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13365: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13364: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13377: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13366: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13375: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13368: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13369: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13371: LOG: child process received shutdown
>> > request signal 3
>> > 2015-10-06 09:45:49: pid 13379: LOG: worker process received restart
>> > request
>> > failover done. shutdown host 172.16.0.59(5432)2015-10-06 09:45:49: pid
>> > 13361: LOG: failover done. shutdown host 172.16.0.59(5432)
>> > 2015-10-06 09:45:50: pid 13378: LOG: restart request received in pcp
>> child
>> > process
>> > 2015-10-06 09:45:50: pid 13361: LOG: PCP child 13378 exits with status
>> 256
>> > in failover()
>> > 2015-10-06 09:45:50: pid 13361: LOG: fork a new PCP child pid 13399 in
>> > failover()
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13363 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13363
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13364 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13364
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13365 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13365
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13366 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13366
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13367 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13367
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13368 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13368
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13369 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13369
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13370 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13370
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13371 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13371
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13372 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13372
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13373 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13373
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13374 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13374
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13375 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13375
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13376 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13376
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13377 exits
>> > with status 0
>> > 2015-10-06 09:45:50: pid 13361: LOG: child process with pid: 13377
>> exited
>> > with success and will not be restarted
>> > 2015-10-06 09:45:50: pid 13361: LOG: worker child process with pid:
>> 13379
>> > exits with status 256
>> > 2015-10-06 09:45:50: pid 13361: LOG: fork a new worker child process
>> with
>> > pid: 13400
>> > 2015-10-06 09:46:02: pid 13392: FATAL: pgpool is not accepting any new
>> > connections
>> > 2015-10-06 09:46:02: pid 13392: DETAIL: all backend nodes are down,
>> pgpool
>> > requires atleast one valid node
>> > 2015-10-06 09:46:02: pid 13392: HINT: repair the backend nodes and
>> restart
>> > pgpool
>> > 2015-10-06 09:46:02: pid 13361: LOG: child process with pid: 13392 exits
>> > with status 256
>> > 2015-10-06 09:46:02: pid 13361: LOG: fork a new child process with pid:
>> > 13401
>> > 2015-10-06 09:46:27: pid 13401: FATAL: pgpool is not accepting any new
>> > connections
>> > 2015-10-06 09:46:27: pid 13401: DETAIL: all backend nodes are down,
>> pgpool
>> > requires atleast one valid node
>> > 2015-10-06 09:46:27: pid 13401: HINT: repair the backend nodes and
>> restart
>> > pgpool
>> > 2015-10-06 09:46:27: pid 13361: LOG: child process with pid: 13401 exits
>> > with status 256
>> > 2015-10-06 09:46:27: pid 13361: LOG: fork a new child process with pid:
>> > 13410
>> > 2015-10-06 09:46:34: pid 13390: FATAL: pgpool is not accepting any new
>> > connections
>> > 2015-10-06 09:46:34: pid 13390: DETAIL: all backend nodes are down,
>> pgpool
>> > requires atleast one valid node
>> > 2015-10-06 09:46:34: pid 13390: HINT: repair the backend nodes and
>> restart
>> > pgpool
>> > 2015-10-06 09:46:34: pid 13361: LOG: child process with pid: 13390 exits
>> > with status 256
>> > 2015-10-06 09:46:34: pid 13361: LOG: fork a new child process with pid:
>> > 13412
>> >
>> >
>> >
>> >
>> >
>> > # Config File
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # 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 = '/var/run/pgpool-II-93'
>> > # Unix domain socket path
>> > # (change requires restart)
>> >
>> >
>> > # - pgpool Communication Manager Connection Settings -
>> >
>> > pcp_port = 9898
>> > # Port number for pcp
>> > # (change requires restart)
>> > pcp_socket_dir = '/var/run/pgpool-II-93'
>> > # Unix domain socket path for pcp
>> > # (change requires restart)
>> >
>> > # - Backend Connection Settings -
>> >
>> > backend_hostname0 = '172.16.0.59'
>> > # Host name or IP address to connect
>> to
>> > for backend 0
>> > backend_port0 = 5432
>> > # Port number for backend 0
>> > # backend_weight0 = 1
>> > # Weight for backend 0 (only in load
>> > balancing mode)
>> > # backend_data_directory0 = '/var/lib/pgsql/9.3/data'
>> > # Data directory for backend 0
>> > backend_flag0 = 'ALLOW_TO_FAILOVER'
>> > # Controls various backend behavior
>> > # ALLOW_TO_FAILOVER or
>> > DISALLOW_TO_FAILOVER
>> > #backend_hostname1 = 'host2'
>> > #backend_port1 = 5433
>> > #backend_weight1 = 1
>> > #backend_data_directory1 = '/data1'
>> > #backend_flag1 = 'ALLOW_TO_FAILOVER'
>> >
>> > # - Authentication -
>> >
>> > enable_pool_hba = off
>> > # 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 = 15
>> > # Number of pools
>> > # (change requires restart)
>> > max_pool = 1
>> > # Number of connections per pool
>> > # (change requires restart)
>> >
>> > # - Life time -
>> >
>> > child_life_time = 120 # was 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 # was 0
>> > # Connection to backend closes after
>> > being idle for this many seconds
>> > # 0 means no close
>> > client_idle_limit = 0 # was 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 = 'stderr'
>> > # Where to log
>> > # Valid values are combinations of
>> > stderr,
>> > # and syslog. Default to stderr.
>> >
>> > # - What to log -
>> >
>> > print_timestamp = on
>> > # Print timestamp on each line
>> > # (change requires restart)
>> >
>> > log_connections = on
>> > # Log connections
>> > log_hostname = off
>> > # Hostname will be shown in ps status
>> > # and in logs if connections are
>> logged
>> > log_statement = off
>> > # Log all statements
>> > log_per_node_statement = off
>> > # Log all statements
>> > # with node and backend informations
>> > log_standby_delay = 'none'
>> > # 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
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # FILE LOCATIONS
>> >
>> #------------------------------------------------------------------------------
>> >
>> > pid_file_name = '/var/run/pgpool-II-93/pgpool.pid'
>> > # PID file name
>> > # (change requires restart)
>> > logdir = '/var/log/pgpool-II'
>> > # Directory of pgPool status file
>> > # (change requires restart)
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # CONNECTION POOLING
>> >
>> #------------------------------------------------------------------------------
>> >
>> > #connection_cache = off
>> > 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 or parallel mode
>> > # replicate_select is higher priority
>> > than
>> > # load_balance_mode.
>> >
>> > insert_lock = on
>> > # 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 = off
>> > # 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 = 'nextval,setval'
>> > # Comma separated list of function
>> names
>> > # that write to database
>> > # Regexp are accepted
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # MASTER/SLAVE MODE
>> >
>> #------------------------------------------------------------------------------
>> >
>> > master_slave_mode = off
>> > # Activate master/slave mode
>> > # (change requires restart)
>> > master_slave_sub_mode = 'slony'
>> > # 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 = 'webserver'
>> > # Streaming replication check user
>> > # This is necessary even if you
>> disable
>> > # streaming replication delay check
>> with
>> > # sr_check_period = 0
>> > sr_check_password = ''
>> > # 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
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # PARALLEL MODE
>> >
>> #------------------------------------------------------------------------------
>> >
>> > parallel_mode = off
>> > # Activates parallel query mode
>> > # (change requires restart)
>> > pgpool2_hostname = ''
>> > # Set pgpool2 hostname
>> > # (change requires restart)
>> >
>> > # - System DB info -
>> >
>> > system_db_hostname = 'localhost'
>> > # (change requires restart)
>> > system_db_port = 5432
>> > # (change requires restart)
>> > system_db_dbname = 'pgpool'
>> > # (change requires restart)
>> > system_db_schema = 'pgpool_catalog'
>> > # (change requires restart)
>> > system_db_user = 'pgpool'
>> > # (change requires restart)
>> > system_db_password = ''
>> > # (change requires restart)
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # HEALTH CHECK
>> >
>> #------------------------------------------------------------------------------
>> >
>> > health_check_period = 10
>> > # Health check period
>> > # Disabled (0) by default
>> > health_check_timeout = 10
>> > # Health check timeout
>> > # 0 means no timeout
>> > health_check_user = 'webserver'
>> > # Health check user
>> > health_check_password = ''
>> > # Password for health check user
>> > health_check_max_retries = 30
>> > # 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.
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # FAILOVER AND FAILBACK
>> >
>> #------------------------------------------------------------------------------
>> >
>> > failover_command = ''
>> > # 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 = 0
>> > # 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 = 'webserver'
>> > # Online recovery user
>> > recovery_password = ''
>> > # Online recovery password
>> > recovery_1st_stage_command = ''
>> > # 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 = off
>> > # 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 = ''
>> > # 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 = ''
>> > # delegate IP address
>> > # If this is empty, virtual IP never
>> > bring up.
>> > # (change requires restart)
>> > ifconfig_path = '/sbin'
>> > # ifconfig command path
>> > # (change requires restart)
>> > if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0'
>> > # startup delegate IP command
>> > # (change requires restart)
>> > if_down_cmd = 'ifconfig eth0:0 down'
>> > # shutdown delegate IP command
>> > # (change requires restart)
>> >
>> > arping_path = '/usr/sbin' # arping command path
>> > # (change requires restart)
>> >
>> > arping_cmd = 'arping -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 = 10
>> > # 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)
>> > heartbeat_destination0 = 'host0_ip1'
>> > # Host name or IP address of
>> > destination 0
>> > # for sending heartbeat signal.
>> > # (change requires restart)
>> > heartbeat_destination_port0 = 9694
>> > # Port number of destination 0 for
>> > sending
>> > # heartbeat signal. Usually this is
>> the
>> > # same as wd_heartbeat_port.
>> > # (change requires restart)
>> > heartbeat_device0 = ''
>> > # 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 = 'nobody'
>> > # 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 -
>> >
>> > #other_pgpool_hostname0 = 'host0'
>> > # Host name or IP address to connect
>> to
>> > for other pgpool 0
>> > # (change requires restart)
>> > #other_pgpool_port0 = 5432
>> > # Port number for othet pgpool 0
>> > # (change requires restart)
>> > #other_wd_port0 = 9000
>> > # 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.
>> >
>> >
>> >
>> #------------------------------------------------------------------------------
>> > # ON 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
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> > [image: FBS Logo]
>> >
>> > *Travis Kirstine*, Web Development Supervisor
>> > *t *905‑477‑3600* x *301 | *m *647‑534‑4798 |
>> > tkirstine at firstbasesolution.com
>> >
>> > *First Base Solutions Inc.*
>> > 140 Renfrew Drive, Suite 100 | Markham | Ontario | L3R 6B3
>> > *t* 905‑477‑3600 | *f* 905‑477‑0892 | www.firstbasesolutions.com
>> _______________________________________________
>> 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