Backport all changes in devel to stable releases.
This commit is contained in:
parent
c966f4f658
commit
b412b6a25d
5 changed files with 357 additions and 0 deletions
BIN
pgpool-II-1.1.1.tar.gz
Normal file
BIN
pgpool-II-1.1.1.tar.gz
Normal file
Binary file not shown.
148
pgpool.conf.sample
Normal file
148
pgpool.conf.sample
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
#
|
||||
# pgpool-II configuration file sample
|
||||
|
||||
# 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 = '/var/run'
|
||||
|
||||
# Unix domain socket path for pgpool communication manager.
|
||||
pcp_socket_dir = '/var/run'
|
||||
|
||||
# Unix domain socket path for the backend.
|
||||
backend_socket_dir = '/var/run'
|
||||
|
||||
# pgpool communication manager timeout. 0 means no timeout, but strongly not recommended!
|
||||
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
|
||||
|
||||
# Logging directory
|
||||
logdir = '/var/run'
|
||||
|
||||
# Replication mode
|
||||
replication_mode = false
|
||||
|
||||
# Set this to true if you want to avoid deadlock situations when
|
||||
# replication is enabled. There will, however, be a noticable performance
|
||||
# degradation. A workaround is to set this to false and insert a /*STRICT*/
|
||||
# comment at the beginning of the SQL command.
|
||||
replication_strict = true
|
||||
|
||||
# When replication_strict is set to false, there will be a chance for
|
||||
# deadlocks. Set this to nonzero (in milliseconds) to detect this
|
||||
# situation and resolve the deadlock by aborting current session.
|
||||
replication_timeout = 5000
|
||||
|
||||
# Load balancing mode, i.e., all SELECTs except in a transaction block
|
||||
# are load balanced. This is ignored if replication_mode is false.
|
||||
load_balance_mode = false
|
||||
|
||||
# if there's a data mismatch between master and secondary
|
||||
# start degeneration to stop replication mode
|
||||
replication_stop_on_mismatch = false
|
||||
|
||||
# If true, replicate SELECT statement when load balancing is disabled.
|
||||
# If false, it is only sended to the master node.
|
||||
replicate_select = false
|
||||
|
||||
# Semicolon separated list of queries to be issued at the end of a session
|
||||
reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
|
||||
|
||||
# If true print timestamp on each log line.
|
||||
print_timestamp = true
|
||||
|
||||
# If true, operate in master/slave mode.
|
||||
master_slave_mode = false
|
||||
|
||||
# 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 = 0
|
||||
|
||||
# Health check user
|
||||
health_check_user = 'nobody'
|
||||
|
||||
# If true, automatically lock table with INSERT statements to keep SERIAL
|
||||
# data consistency. An /*INSERT LOCK*/ comment has the same effect. A
|
||||
# /NO INSERT LOCK*/ comment disables the effect.
|
||||
insert_lock = false
|
||||
|
||||
# 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 = false
|
||||
|
||||
# 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, 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_hostname1 = 'host2'
|
||||
#backend_port1 = 5433
|
||||
#backend_weight1 = 1
|
||||
|
||||
# - HBA -
|
||||
|
||||
# If true, use pool_hba.conf for client authentication. In pgpool-II
|
||||
# 1.1, the default value is false. The default value will be true in
|
||||
# 1.2.
|
||||
enable_pool_hba = false
|
||||
40
pgpool.conf.sample.patch
Normal file
40
pgpool.conf.sample.patch
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--- pgpool.conf.sample.old 2007-08-05 05:27:53.000000000 +0300
|
||||
+++ pgpool.conf.sample 2007-08-05 05:29:01.000000000 +0300
|
||||
@@ -1,6 +1,5 @@
|
||||
#
|
||||
# pgpool-II configuration file sample
|
||||
-# $Header: /home/fedora/jkeating/pkgs/rpms/postgresql-pgpool-II/EL-5/pgpool.conf.sample.patch,v 1.1 2007/08/16 09:22:43 devrim Exp $
|
||||
|
||||
# Host name or IP address to listen on: '*' for all, '' for no TCP/IP
|
||||
# connections
|
||||
@@ -12,16 +11,14 @@
|
||||
# Port number for pgpool communication manager
|
||||
pcp_port = 9898
|
||||
|
||||
-# Unix domain socket path. (The Debian package defaults to
|
||||
-# /var/run/postgresql.)
|
||||
-socket_dir = '/tmp'
|
||||
+# Unix domain socket path.
|
||||
+socket_dir = '/var/run'
|
||||
|
||||
# Unix domain socket path for pgpool communication manager.
|
||||
-# (Debian package defaults to /var/run/postgresql)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/var/run'
|
||||
|
||||
-# Unix domain socket path for the backend. Debian package defaults to /var/run/postgresql!
|
||||
-backend_socket_dir = '/tmp'
|
||||
+# Unix domain socket path for the backend.
|
||||
+backend_socket_dir = '/var/run'
|
||||
|
||||
# pgpool communication manager timeout. 0 means no timeout, but strongly not recommended!
|
||||
pcp_timeout = 10
|
||||
@@ -44,7 +41,7 @@
|
||||
child_max_connections = 0
|
||||
|
||||
# Logging directory
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/var/run'
|
||||
|
||||
# Replication mode
|
||||
replication_mode = false
|
||||
163
pgpool.init
Executable file
163
pgpool.init
Executable file
|
|
@ -0,0 +1,163 @@
|
|||
#!/bin/sh
|
||||
# pgpool This is the init script for starting up pgpool-II
|
||||
#
|
||||
# chkconfig: - 64 36
|
||||
# description: Starts and stops the pgpool daemon
|
||||
# processname: pgpool
|
||||
# pidfile: /var/run/pgpool.pid
|
||||
#
|
||||
# v1.0.0 Devrim GUNDUZ <devrim@CommandPrompt.com>
|
||||
# - Initial version of Red Hat / Fedora init script
|
||||
|
||||
if [ -r /etc/sysconfig/pgpool ]; then
|
||||
. /etc/sysconfig/pgpool
|
||||
fi
|
||||
|
||||
# Source function library.
|
||||
INITD=/etc/rc.d/init.d
|
||||
. $INITD/functions
|
||||
|
||||
# Get function listing for cross-distribution logic.
|
||||
TYPESET=`typeset -f|grep "declare"`
|
||||
|
||||
# Get config.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
# We need it for pgpool
|
||||
[ "${NETWORKING}" = "no" ] && exit 0
|
||||
|
||||
# Find the name of the script
|
||||
NAME=pgpool
|
||||
|
||||
# Set defaults for configuration variables
|
||||
PGPOOLENGINE=/usr/bin
|
||||
PGPOOLDAEMON=$PGPOOLENGINE/pgpool
|
||||
PGPOOLCONF=/etc/pgpool.conf
|
||||
PGPOOLPID=/var/run/pgpool.pid
|
||||
PGPOOLLOG=/var/log/pgpool.log
|
||||
|
||||
test -x $PGPOOLDAEMON || exit 5
|
||||
|
||||
# Create the log file if it does not exist
|
||||
if [ ! -r $PGPOOLLOG ]
|
||||
then
|
||||
touch $PGPOOLLOG
|
||||
fi
|
||||
|
||||
# Check whether the config file exists or not
|
||||
if [ ! -r /etc/pgpool.conf ]
|
||||
then
|
||||
echo "$PGPOOLCONF not found"
|
||||
RETVAL=1
|
||||
failure
|
||||
exit
|
||||
fi
|
||||
|
||||
script_result=0
|
||||
|
||||
start(){
|
||||
PGPOOL_START=$"Starting ${NAME} service: "
|
||||
|
||||
echo -n "$PGPOOL_START"
|
||||
$PGPOOLDAEMON -f $PGPOOLCONF $OPTS & >> "$PGPOOLLOG" 2>&1 < /dev/null
|
||||
sleep 2
|
||||
|
||||
pid=`pidof -s "$PGPOOLDAEMON"`
|
||||
if [ $pid ]
|
||||
then
|
||||
success "$PGPOOL_START"
|
||||
touch /var/lock/subsys/${NAME}
|
||||
echo
|
||||
else
|
||||
failure "$PSQL_START"
|
||||
echo
|
||||
script_result=1
|
||||
fi
|
||||
}
|
||||
|
||||
stop(){
|
||||
echo -n $"Stopping ${NAME} service: "
|
||||
if [ $UID -ne 0 ]; then
|
||||
RETVAL=1
|
||||
failure
|
||||
else
|
||||
killproc /usr/bin/pgpool
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${NAME}
|
||||
fi;
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
switch() {
|
||||
echo -n $"Sending switchover request to $NAME "
|
||||
$PGPOOLDAEMON switch >> "$PGPOOLLOG" 2>&1 < /dev/null
|
||||
RETVAL=$?
|
||||
echo
|
||||
if [ $RETVAL -eq 0 ]
|
||||
then
|
||||
echo_success
|
||||
else
|
||||
echo_failure
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload(){
|
||||
echo -n $"Reloading ${NAME}: "
|
||||
if [ -n "`pidfileofproc $PGPOOLDAEMON`" ] ; then
|
||||
killproc $PGPOOLDAEMON -HUP
|
||||
else
|
||||
failure $"Reloading ${NAME}"
|
||||
fi
|
||||
RETVAL=$?
|
||||
echo
|
||||
}
|
||||
|
||||
condrestart(){
|
||||
[ -e /var/lock/subsys/${NAME} ] && restart
|
||||
}
|
||||
|
||||
condstop(){
|
||||
[ -e /var/lock/subsys/${NAME} ] && stop
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
switch)
|
||||
switch
|
||||
;;
|
||||
status)
|
||||
status pgpool
|
||||
script_result=$?
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
reload|force-reload)
|
||||
reload
|
||||
;;
|
||||
condrestart)
|
||||
condrestart
|
||||
;;
|
||||
condstop)
|
||||
condstop
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|switch|status|restart|condrestart|condstop|reload|force-reload}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $script_result
|
||||
6
pgpool.sysconfig
Normal file
6
pgpool.sysconfig
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Options for pgpool
|
||||
|
||||
# -n: don't run in daemon mode. does not detatch control tty
|
||||
# -d: debug mode. lots of debug information will be printed
|
||||
|
||||
#OPTS=" -d -n"
|
||||
Loading…
Add table
Add a link
Reference in a new issue