Hi,

Browsing through the configuration file is a quite daunting task because
there is no organization in it. So, I tried to write it in a better way.
Instead of a patch, here is the whole file. It's surely not a final
version, but that's what I did till now.

Is this something we would be interested in commiting? I think it makes
it simpler to read. If we want to commit this, I'll first fix the other
sample configuration files, so that they look the same, before commiting
all of them.

Regards.


-- 
Guillaume
 http://www.postgresql.fr
 http://dalibo.com
# ----------------------------
# 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 = 'localhost'     # Host name or IP address to listen on:
                                   # '*' for all, '' for no TCP/IP connections
port = 9999                        # Port number
socket_dir = '/tmp'                # Unix domain socket path
                                   # The Debian package defaults to
                                   # /var/run/postgresql


# - pgpool Communication Manager Connection Settings -

pcp_port = 9898                    # Port number for pcp
pcp_socket_dir = '/tmp'            # Unix domain socket path for pcp
                                   # The Debian package defaults to
                                   # /var/run/postgresql

# - Backend Connection Settings -

#backend_hostname0 = 'host1'       # 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 = '/data' # Data directory for backend 0

#backend_hostname1 = 'host2'
#backend_port1 = 5433
#backend_weight1 = 1
#backend_data_directory1 = '/data1'

# - Authentication -

enable_pool_hba = false            # Use pool_hba.conf for client authentication
authentication_timeout = 60        # Delay in seconds to complete client 
authentication
                                   # 0 means no timeout.

# - SSL Connections -

ssl = false                        # Enable SSL support
#ssl_key = './server.key'          # Path to the SSL private key file
#ssl_cert = './server.cert'        # Path to the SSL public certificate file
#ssl_ca_cert = ''                  # Path to a single PEM format file
                                   # containing CA root certificate(s)
#ssl_ca_cert_dir = ''              # Directory containing CA root certificate(s)


#------------------------------------------------------------------------------
# POOLS
#------------------------------------------------------------------------------

# - Pool size -

num_init_children = 32             # Number of pools
max_pool = 4                       # Number of connections per pool

# - 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 = 'stderr'         # Where to log
                                   # Valid values are combinations of stderr,
                                   # and syslog. Default to stderr.

# - What to log -

print_timestamp = true             # Print timestamp on each line

log_connections = false            # Log connections
log_hostname = false               # Hostname will be shown in ps status
                                   # and in logs if connections are logged
log_statement = false              # Log all statements
log_per_node_statement = false     # 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 = 0                    # Debug message verbosity level
                                   # 0 means no message, 1 or more mean verbose


#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

pid_file_name = '/var/run/pgpool/pgpool.pid' # PID file name
logdir = '/tmp'                    # Directory of pgPool status file


#------------------------------------------------------------------------------
# CONNECTION POOLING MODE
#------------------------------------------------------------------------------

connection_cache = true            # Activate connection pools

                                   # 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 = false           # Activate replication mode
replicate_select = false           # Replicate SELECT statements
                                   # when in replication or parallel mode
                                   # replicate_select is higher priority than
                                   # load_balance_mode.

insert_lock = true                 # Automatically locks 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 = false
                                   # On disagreement with the packet kind
                                   # sent from backend, degenerate the node
                                   # which is most likely "minority"
                                   # If false, just force to exit this session

failover_if_affected_tuples_mismatch = false
                                   # On disagreement with the number of affected
                                   # tuples in UPDATE/DELETE queries, then
                                   # degenerate the node which is most likely
                                   # "minority".
                                   # If false, just abort the transaction to
                                   # keep the consistency

# - Online recovery -

recovery_user = 'nobody'           # 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


#------------------------------------------------------------------------------
# LOAD BALANCING MODE
#------------------------------------------------------------------------------

load_balance_mode = false          # Activate load balancing mode
ignore_leading_white_space = true  # 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 = false          # Activate master/slave mode
master_slave_sub_mode = 'slony'    # Master/slave sub mode
                                   # Valid values are combinations slony or
                                   # stream. Default is slony.

# - Streaming -

delay_threshold = 0                # Threshold before detaching node
                                   # Unit is in bytes
                                   # Disabled (0) by default
                                   # Health check should be enabled

# - Health check -

health_check_period = 0            # Health check period
                                   # Disabled (0) by default
health_check_timeout = 20          # Health check timeout
                                   # 0 means no timeout
health_check_user = 'nobody'       # Health check user

# - Special commands -

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
                                   #   %% = '%' 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
                                   #   %% = '%' character

fail_over_on_backend_error = true  # Initiates failover when writing to the
                                   # backend communication socket fails
                                   # This is the same behaviour of pgpool-II
                                   # 2.2.x and previous releases
                                   # If set to false, pgpool will report an
                                   # error and disconnect the session.


#------------------------------------------------------------------------------
# PARALLEL AND QUERY CACHE MODE
#------------------------------------------------------------------------------

parallel_mode = false              # Activates parallel query mode
enable_query_cache = false         # Activates query cache

pgpool2_hostname = ''              # Set 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 = ''

# 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_expire = 0;
_______________________________________________
Pgpool-hackers mailing list
[email protected]
http://pgfoundry.org/mailman/listinfo/pgpool-hackers

Reply via email to