mirror of
https://abf.rosa.ru/djam/postgresql-pgpool-II.git
synced 2025-02-23 15:12:46 +00:00
281 lines
9.3 KiB
Text
281 lines
9.3 KiB
Text
![]() |
# Host name or IP address to listen on: '*' for all, '' for no TCP/IP
|
||
|
# connections
|
||
|
listen_addresses = 'localhost'
|
||
|
|
||
|
# Port number for pgpool
|
||
|
port = 9999
|
||
|
|
||
|
# Port number for pgpool communication manager
|
||
|
pcp_port = 9898
|
||
|
|
||
|
# Unix domain socket path.
|
||
|
socket_dir = '/tmp'
|
||
|
|
||
|
# Unix domain socket path for pgpool communication manager.
|
||
|
pcp_socket_dir = '/tmp'
|
||
|
|
||
|
# Unix domain socket path for the backend.
|
||
|
backend_socket_dir = '/tmp'
|
||
|
|
||
|
# pgpool communication manager timeout. 0 means no timeout. This parameter is ignored now.
|
||
|
pcp_timeout = 10
|
||
|
|
||
|
# number of pre-forked child process
|
||
|
num_init_children = 32
|
||
|
|
||
|
# Number of connection pools allowed for a child process
|
||
|
max_pool = 4
|
||
|
|
||
|
# If idle for this many seconds, child exits. 0 means no timeout.
|
||
|
child_life_time = 300
|
||
|
|
||
|
# If idle for this many seconds, connection to PostgreSQL closes.
|
||
|
# 0 means no timeout.
|
||
|
connection_life_time = 0
|
||
|
|
||
|
# If child_max_connections connections were received, child exits.
|
||
|
# 0 means no exit.
|
||
|
child_max_connections = 0
|
||
|
|
||
|
# If client_idle_limit is n (n > 0), the client is forced to be
|
||
|
# disconnected whenever after n seconds idle (even inside an explicit
|
||
|
# transactions!)
|
||
|
# 0 means no disconnect.
|
||
|
client_idle_limit = 0
|
||
|
|
||
|
# Maximum time in seconds to complete client authentication.
|
||
|
# 0 means no timeout.
|
||
|
authentication_timeout = 60
|
||
|
|
||
|
# Logging directory
|
||
|
logdir = '/var/log/postgres'
|
||
|
|
||
|
# pid file name
|
||
|
pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||
|
|
||
|
# Replication mode
|
||
|
replication_mode = true
|
||
|
|
||
|
# Load balancing mode, i.e., all SELECTs are load balanced.
|
||
|
load_balance_mode = true
|
||
|
|
||
|
# If there's a disagreement with the packet kind sent from backend,
|
||
|
# then degenrate the node which is most likely "minority". If false,
|
||
|
# just force to exit this session.
|
||
|
replication_stop_on_mismatch = true
|
||
|
|
||
|
# If there's a disagreement with the number of affected tuples in
|
||
|
# UPDATE/DELETE, then degenrate the node which is most likely
|
||
|
# "minority".
|
||
|
# If false, just abort the transaction to keep the consistency.
|
||
|
failover_if_affected_tuples_mismatch = true
|
||
|
|
||
|
# If true, replicate SELECT statement when replication_mode or parallel_mode is enabled.
|
||
|
# A priority of replicate_select is higher than load_balance_mode.
|
||
|
replicate_select = false
|
||
|
|
||
|
# Semicolon separated list of queries to be issued at the end of a
|
||
|
# session
|
||
|
reset_query_list = 'ABORT; DISCARD ALL'
|
||
|
# for 8.2 or older this should be as follows.
|
||
|
#reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
|
||
|
|
||
|
# white_function_list is a comma separated list of function names
|
||
|
# those do not write to database. Any functions not listed here
|
||
|
# are regarded to write to database and SELECTs including such
|
||
|
# writer-functions will be executed on master(primary) in master/slave
|
||
|
# mode, or executed on all DB nodes in replication mode.
|
||
|
#
|
||
|
# black_function_list is a comma separated list of function names
|
||
|
# those write to database. Any functions not listed here
|
||
|
# are regarded not to write to database and SELECTs including such
|
||
|
# read-only-functions will be executed on any DB nodes.
|
||
|
#
|
||
|
# You cannot make full both white_function_list and
|
||
|
# black_function_list at the same time. If you specify something in
|
||
|
# one of them, you should make empty other.
|
||
|
#
|
||
|
# Pre 3.0 pgpool-II recognizes nextval and setval in hard coded
|
||
|
# way. Following setting will do the same as the previous version.
|
||
|
# white_function_list = ''
|
||
|
# black_function_list = 'nextval,setval'
|
||
|
white_function_list = ''
|
||
|
black_function_list = 'nextval,setval'
|
||
|
|
||
|
# If true print timestamp on each log line.
|
||
|
print_timestamp = true
|
||
|
|
||
|
# If true, operate in master/slave mode.
|
||
|
master_slave_mode = false
|
||
|
|
||
|
# Master/slave sub mode. either 'slony' or 'stream'. Default is 'slony'.
|
||
|
master_slave_sub_mode = 'slony'
|
||
|
|
||
|
# If the standby server delays more than delay_threshold,
|
||
|
# any query goes to the primary only. The unit is in bytes.
|
||
|
# 0 disables the check. Default is 0.
|
||
|
# Note that health_check_period required to be greater than 0
|
||
|
# to enable the functionality.
|
||
|
delay_threshold = 0
|
||
|
|
||
|
# 'always' logs the standby delay whenever health check runs.
|
||
|
# 'if_over_threshold' logs only if the delay exceeds delay_threshold.
|
||
|
# 'none' disables the delay log.
|
||
|
log_standby_delay = 'none'
|
||
|
|
||
|
# If true, cache connection pool.
|
||
|
connection_cache = true
|
||
|
|
||
|
# Health check timeout. 0 means no timeout.
|
||
|
health_check_timeout = 20
|
||
|
|
||
|
# Health check period. 0 means no health check.
|
||
|
health_check_period = 60
|
||
|
|
||
|
# Health check user
|
||
|
health_check_user = 'pgpool'
|
||
|
|
||
|
# Execute command by failover.
|
||
|
# special values: %d = node id
|
||
|
# %h = host name
|
||
|
# %p = port number
|
||
|
# %D = database cluster path
|
||
|
# %m = new master node id
|
||
|
# %M = old master node id
|
||
|
# %% = '%' character
|
||
|
#
|
||
|
failover_command = ''
|
||
|
|
||
|
# Execute command by failback.
|
||
|
# special values: %d = node id
|
||
|
# %h = host name
|
||
|
# %p = port number
|
||
|
# %D = database cluster path
|
||
|
# %m = new master node id
|
||
|
# %M = old master node id
|
||
|
# %% = '%' character
|
||
|
#
|
||
|
failback_command = '/usr/share/pgpool-II/mirroring_failback %d %h %p "%D" %m %M'
|
||
|
|
||
|
# If true, trigger fail over when writing to the backend communication
|
||
|
# socket fails. This is the same behavior of pgpool-II 2.2.x or
|
||
|
# earlier. If set to false, pgpool will report an error and disconnect
|
||
|
# the session.
|
||
|
fail_over_on_backend_error = true
|
||
|
|
||
|
# If true, automatically locks a table with INSERT statements to keep
|
||
|
# SERIAL data consistency. If the data does not have SERIAL data
|
||
|
# type, no lock will be issued. An /*INSERT LOCK*/ comment has the
|
||
|
# same effect. A /NO INSERT LOCK*/ comment disables the effect.
|
||
|
insert_lock = true
|
||
|
|
||
|
# If true, ignore leading white spaces of each query while pgpool judges
|
||
|
# whether the query is a SELECT so that it can be load balanced. This
|
||
|
# is useful for certain APIs such as DBI/DBD which is known to adding an
|
||
|
# extra leading white space.
|
||
|
ignore_leading_white_space = true
|
||
|
|
||
|
# If true, print all statements to the log. Like the log_statement option
|
||
|
# to PostgreSQL, this allows for observing queries without engaging in full
|
||
|
# debugging.
|
||
|
log_statement = false
|
||
|
|
||
|
# If true, print all statements to the log. Similar to log_statement except
|
||
|
# that prints DB node id and backend process id info.
|
||
|
log_per_node_statement = false
|
||
|
|
||
|
# If true, incoming connections will be printed to the log.
|
||
|
log_connections = false
|
||
|
|
||
|
# If true, hostname will be shown in ps status. Also shown in
|
||
|
# connection log if log_connections = true.
|
||
|
# Be warned that this feature will add overhead to look up hostname.
|
||
|
log_hostname = false
|
||
|
|
||
|
# if non 0, run in parallel query mode
|
||
|
parallel_mode = false
|
||
|
|
||
|
# if non 0, use query cache
|
||
|
enable_query_cache = false
|
||
|
|
||
|
#set pgpool2 hostname
|
||
|
pgpool2_hostname = ''
|
||
|
|
||
|
# system DB info
|
||
|
system_db_hostname = 'localhost'
|
||
|
system_db_port = 5432
|
||
|
system_db_dbname = 'pgpool'
|
||
|
system_db_schema = 'pgpool_catalog'
|
||
|
system_db_user = 'pgpool'
|
||
|
system_db_password = ''
|
||
|
|
||
|
# backend_hostname, backend_port, backend_weight
|
||
|
# here are examples
|
||
|
backend_hostname0 = 'host1'
|
||
|
backend_port0 = 5432
|
||
|
backend_weight0 = 1
|
||
|
backend_data_directory0 = '/var/lib/pgsql/data'
|
||
|
backend_hostname1 = 'host2'
|
||
|
backend_port1 = 5432
|
||
|
backend_weight1 = 1
|
||
|
backend_data_directory1 = '/var/lib/pgsql/data'
|
||
|
|
||
|
# - HBA -
|
||
|
|
||
|
# If true, use pool_hba.conf for client authentication.
|
||
|
enable_pool_hba = true
|
||
|
|
||
|
# - online recovery -
|
||
|
# online recovery user
|
||
|
recovery_user = 'pgpool'
|
||
|
|
||
|
# online recovery password
|
||
|
recovery_password = 'recovery'
|
||
|
|
||
|
# execute a command in first stage.
|
||
|
recovery_1st_stage_command = 'copy-base-backup'
|
||
|
|
||
|
# execute a command in second stage.
|
||
|
recovery_2nd_stage_command = 'pgpool_recovery_pitr'
|
||
|
|
||
|
# maximum time in seconds to wait for the recovering node's postmaster
|
||
|
# start-up. 0 means no wait.
|
||
|
# this is also used as a timer waiting for clients disconnected before
|
||
|
# starting 2nd stage
|
||
|
recovery_timeout = 90
|
||
|
|
||
|
# If client_idle_limit_in_recovery is n (n > 0), the client is forced
|
||
|
# to be disconnected whenever after n seconds idle (even inside an
|
||
|
# explicit transactions!) in the second stage of online recovery.
|
||
|
# n = -1 forces clients to be disconnected immediately.
|
||
|
# 0 disables this functionality(wait forever).
|
||
|
# This parameter only takes effect in recovery 2nd stage.
|
||
|
client_idle_limit_in_recovery = 0
|
||
|
|
||
|
# Specify table name to lock. This is used when rewriting lo_creat
|
||
|
# command in replication mode. The table must exist and has writable
|
||
|
# permission to public. If the table name is '', no rewriting occurs.
|
||
|
lobj_lock_table = 'pgpool_lock_table'
|
||
|
|
||
|
# If true, enable SSL support for both frontend and backend connections.
|
||
|
# note that you must also set ssl_key and ssl_cert for SSL to work in
|
||
|
# the frontend connections.
|
||
|
ssl = false
|
||
|
# path to the SSL private key file
|
||
|
ssl_key = '/etc/pki/tls/private/localhost.key'
|
||
|
# path to the SSL public certificate file
|
||
|
ssl_cert = '/etc/pki/tls/certs/localhost.crt'
|
||
|
|
||
|
# If either ssl_ca_cert or ssl_ca_cert_dir is set, then certificate
|
||
|
# verification will be performed to establish the authenticity of the
|
||
|
# certificate. If neither is set to a nonempty string then no such
|
||
|
# verification takes place. ssl_ca_cert should be a path to a single
|
||
|
# PEM format file containing CA root certificate(s), whereas ssl_ca_cert_dir
|
||
|
# should be a directory containing such files. These are analagous to the
|
||
|
# -CAfile and -CApath options to openssl verify(1), respectively.
|
||
|
ssl_ca_cert = '/etc/pki/tls/cert.pem'
|
||
|
ssl_ca_cert_dir = '/etc/pki/tls/rootcerts'
|
||
|
|
||
|
# Debug message verbosity level. 0: no message, 1 <= : more verbose
|
||
|
debug_level = 0
|