From c02d1316cb95979198d335cff50e1610d31f9a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jason=20=E3=83=86=E3=82=A3=E3=83=93=E3=83=84?= Date: Sat, 2 Jun 2007 19:27:39 +0000 Subject: [PATCH 01/10] Initialize branch F-7 for postgresql-pgpool-II --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..c48525c --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-7 From d197d437438aa81842468cbe4946cbe174588e8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Sat, 2 Jun 2007 20:54:44 +0000 Subject: [PATCH 02/10] - Update to 1.1 - added --disable-rpath configure parameter. - Chowned sample conf files, so that they can work with pgpoolAdmin. --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index e69de29..8ba155d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a3c00044e0ae900c7e90dd1d852a1ba0 pgpool-II-1.1.tar.gz From de41208a2523e26d354c260ea9def7cd6e771d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Sat, 2 Jun 2007 21:10:52 +0000 Subject: [PATCH 03/10] I forgot to add the spec file to CVS :) --- postgresql-pgpool-II.spec | 134 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 postgresql-pgpool-II.spec diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec new file mode 100644 index 0000000..45ee537 --- /dev/null +++ b/postgresql-pgpool-II.spec @@ -0,0 +1,134 @@ +%define short_name pgpool-II + +Summary: Pgpool is a connection pooling/replication server for PostgreSQL +Name: postgresql-%{short_name} +Version: 1.1 +Release: 1%{?dist} +License: BSD +Group: Applications/Databases +URL: http://pgpool.projects.PostgreSQL.org/pgpool-II/en +Source0: http://pgfoundry.org/frs/download.php/1376/%{short_name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: postgresql-devel pam-devel + +#Obsoletes: postgresql-pgpool + +%description +pgpool-II is a inherited project of pgpool (to classify from +pgpool-II, it is sometimes called as pgpool-I). For those of +you not familiar with pgpool-I, it is a multi-functional +middle ware for PostgreSQL that features connection pooling, +replication and load balancing functions. pgpool-I allows a +user to connect at most two PostgreSQL servers for higher +availability or for higher search performance compared to a +single PostgreSQL server. + +pgpool-II, on the other hand, allows multiple PostgreSQL +servers (DB nodes) to be connected, which enables queries +to be executed simultaneously on all servers. In other words, +it enables "parallel query" processing. Also, pgpool-II can +be started as pgpool-I by changing configuration parameters. +pgpool-II that is executed in pgpool-I mode enables multiple +DB nodes to be connected, which was not possible in pgpool-I. + +%package devel +Summary: The development files for pgpool-II +Group: Development/Libraries +Requires: %{name} = %{version} + +%description devel +Development headers and libraries for pgpool-II. + +%prep +%setup -q -n %{short_name}-%{version} + +%build +%configure --with-pgsql-includedir=%{_includedir}/pgsql --with-pgsql-lib=%{_libdir}/pgsql --disable-static --with-pam --disable-rpath + +make %{?_smp_flags} + +%install +rm -rf %{buildroot} +make %{?_smp_flags} DESTDIR=%{buildroot} install +mv %{buildroot}/%{_sysconfdir}/*.conf.sample %{buildroot}%{_datadir}/%{short_name} + +# nuke libtool archive and static lib +rm -f %{buildroot}%{_libdir}/libpcp.{a,la} + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc README README.euc_jp TODO COPYING INSTALL AUTHORS ChangeLog NEWS doc/pgpool-en.html doc/pgpool-ja.html doc/pgpool.css doc/tutorial-en.html doc/tutorial-ja.html +%{_bindir}/pgpool +%{_bindir}/pcp_attach_node +%{_bindir}/pcp_detach_node +%{_bindir}/pcp_node_count +%{_bindir}/pcp_node_info +%{_bindir}/pcp_proc_count +%{_bindir}/pcp_proc_info +%{_bindir}/pcp_stop_pgpool +%{_bindir}/pcp_systemdb_info +%{_bindir}/pg_md5 +%{_mandir}/man8/pgpool* +%{_datadir}/%{short_name}/system_db.sql +%{_libdir}/libpcp.so.* +%attr(764,root,apache) %{_datadir}/%{short_name}/*.conf.sample +%{_datadir}/%{short_name}/pgpool.pam + +%files devel +%defattr(-,root,root,-) +%{_includedir}/pcp.h +%{_includedir}/pool_type.h +%{_libdir}/libpcp.so + +%changelog +* Sat Jun 2 2007 Devrim Gunduz 1.1-1 +- Update to 1.1 +- added --disable-rpath configure parameter. +- Chowned sample conf files, so that they can work with pgpoolAdmin. + +* Thu Apr 22 2007 Devrim Gunduz 1.0.2-4 +- Added postgresql-devel as BR, per bugzilla review. +- Added --disable-static flan, per bugzilla review. +- Removed superfluous manual file installs, per bugzilla review. + +* Thu Apr 22 2007 Devrim Gunduz 1.0.2-3 +- Rebuilt for the correct tarball +- Fixed man8 file ownership, per bugzilla review #229321 + +* Tue Feb 20 2007 Jarod Wilson 1.0.2-2 +- Create proper devel package, drop -libs package +- Nuke rpath +- Don't install libtool archive and static lib +- Clean up %%configure line +- Use proper %%_smp_mflags +- Install config files properly, without .sample on the end +- Preserve timestamps on header files + +* Tue Feb 20 2007 Devrim Gunduz 1.0.2-1 +- Update to 1.0.2-1 + +* Mon Oct 02 2006 Devrim Gunduz 1.0.1-5 +- Rebuilt + +* Mon Oct 02 2006 Devrim Gunduz 1.0.1-4 +- Added -libs and RPM +- Fix .so link problem +- Cosmetic changes to spec file + +* Thu Sep 27 2006 - Devrim GUNDUZ 1.0.1-3 +- Fix spec, per Yoshiyuki Asaba + +* Thu Sep 26 2006 - Devrim GUNDUZ 1.0.1-2 +- Fixed rpmlint errors +- Fixed download url +- Added ldconfig for .so files + +* Thu Sep 21 2006 - David Fetter 1.0.1-1 +- Initial build pgpool-II 1.0.1 for PgPool Global Development Group + From 607104d3818541f0ad241f63adf9e444b88452a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Fri, 15 Jun 2007 07:38:47 +0000 Subject: [PATCH 04/10] Update to 1.1.1, which includes critical bugfixes. --- .cvsignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.cvsignore b/.cvsignore index e69de29..843ac80 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +pgpool-II-1.1.1.tar.gz diff --git a/sources b/sources index 8ba155d..06d5fb2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a3c00044e0ae900c7e90dd1d852a1ba0 pgpool-II-1.1.tar.gz +3218fd9c935ef01ac433c13c817cff57 pgpool-II-1.1.1.tar.gz From d4968882a5ba649eefa6f0400a99e18b9b9a8794 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Fri, 15 Jun 2007 07:43:13 +0000 Subject: [PATCH 05/10] Update spec files for 1.1.1 --- postgresql-pgpool-II.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec index 45ee537..a25cdb0 100644 --- a/postgresql-pgpool-II.spec +++ b/postgresql-pgpool-II.spec @@ -2,7 +2,7 @@ Summary: Pgpool is a connection pooling/replication server for PostgreSQL Name: postgresql-%{short_name} -Version: 1.1 +Version: 1.1.1 Release: 1%{?dist} License: BSD Group: Applications/Databases @@ -87,6 +87,9 @@ rm -rf %{buildroot} %{_libdir}/libpcp.so %changelog +* Fri Jun 15 2007 Devrim Gunduz 1.1.1-1 +- Update to 1.1.1 + * Sat Jun 2 2007 Devrim Gunduz 1.1-1 - Update to 1.1 - added --disable-rpath configure parameter. From 0f53305a3c2f7be91c4f55e0038f9c57b21d5f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Wed, 18 Jul 2007 11:48:47 +0000 Subject: [PATCH 06/10] Update to pgpool-II 1.2 --- postgresql-pgpool-II.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec index a25cdb0..289d541 100644 --- a/postgresql-pgpool-II.spec +++ b/postgresql-pgpool-II.spec @@ -2,7 +2,7 @@ Summary: Pgpool is a connection pooling/replication server for PostgreSQL Name: postgresql-%{short_name} -Version: 1.1.1 +Version: 1.2 Release: 1%{?dist} License: BSD Group: Applications/Databases @@ -87,6 +87,9 @@ rm -rf %{buildroot} %{_libdir}/libpcp.so %changelog +* Wed Aug 1 2007 Devrim Gunduz 1.2-1 +- Update to 1.2 + * Fri Jun 15 2007 Devrim Gunduz 1.1.1-1 - Update to 1.1.1 From d73e5b4371f69782e21f047824db0448b39f7e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Wed, 1 Aug 2007 06:48:29 +0000 Subject: [PATCH 07/10] Fix download URL, and prepare for new release. --- .cvsignore | 2 +- postgresql-pgpool-II.spec | 4 +--- sources | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 843ac80..9dda70d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -pgpool-II-1.1.1.tar.gz +pgpool-II-1.2.tar.gz diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec index 289d541..0c2785b 100644 --- a/postgresql-pgpool-II.spec +++ b/postgresql-pgpool-II.spec @@ -7,12 +7,10 @@ Release: 1%{?dist} License: BSD Group: Applications/Databases URL: http://pgpool.projects.PostgreSQL.org/pgpool-II/en -Source0: http://pgfoundry.org/frs/download.php/1376/%{short_name}-%{version}.tar.gz +Source0: http://pgfoundry.org/frs/download.php/1419/%{short_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: postgresql-devel pam-devel -#Obsoletes: postgresql-pgpool - %description pgpool-II is a inherited project of pgpool (to classify from pgpool-II, it is sometimes called as pgpool-I). For those of diff --git a/sources b/sources index 06d5fb2..f0d00ef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3218fd9c935ef01ac433c13c817cff57 pgpool-II-1.1.1.tar.gz +8fed94ed12769dacbbf8758b2154e5a7 pgpool-II-1.2.tar.gz From 664035a5f688507c24d1fcfcb645a556b35bea93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Thu, 16 Aug 2007 08:46:14 +0000 Subject: [PATCH 08/10] - Fixed the directory name where sample conf files and sql files are installed. --- postgresql-pgpool-II.spec | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec index 0c2785b..bdd5221 100644 --- a/postgresql-pgpool-II.spec +++ b/postgresql-pgpool-II.spec @@ -3,14 +3,19 @@ Summary: Pgpool is a connection pooling/replication server for PostgreSQL Name: postgresql-%{short_name} Version: 1.2 -Release: 1%{?dist} +Release: 4%{?dist} License: BSD Group: Applications/Databases URL: http://pgpool.projects.PostgreSQL.org/pgpool-II/en Source0: http://pgfoundry.org/frs/download.php/1419/%{short_name}-%{version}.tar.gz +Source1: pgpool.init +Source2: pgpool.sysconfig +Patch1: pgpool.conf.sample.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: postgresql-devel pam-devel +Obsoletes: postgresql-pgpool + %description pgpool-II is a inherited project of pgpool (to classify from pgpool-II, it is sometimes called as pgpool-I). For those of @@ -39,6 +44,7 @@ Development headers and libraries for pgpool-II. %prep %setup -q -n %{short_name}-%{version} +%patch1 -p0 %build %configure --with-pgsql-includedir=%{_includedir}/pgsql --with-pgsql-lib=%{_libdir}/pgsql --disable-static --with-pam --disable-rpath @@ -48,7 +54,11 @@ make %{?_smp_flags} %install rm -rf %{buildroot} make %{?_smp_flags} DESTDIR=%{buildroot} install -mv %{buildroot}/%{_sysconfdir}/*.conf.sample %{buildroot}%{_datadir}/%{short_name} +mv %{buildroot}/%{_sysconfdir}/*.conf.sample %{buildroot}%{_datadir}/%{name} +install -d %{buildroot}%{_initrddir} +install -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/pgpool +install -d %{buildroot}%{_sysconfdir}/sysconfig +install -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/pgpool # nuke libtool archive and static lib rm -f %{buildroot}%{_libdir}/libpcp.{a,la} @@ -73,10 +83,12 @@ rm -rf %{buildroot} %{_bindir}/pcp_systemdb_info %{_bindir}/pg_md5 %{_mandir}/man8/pgpool* -%{_datadir}/%{short_name}/system_db.sql +%{_datadir}/%{name}/system_db.sql %{_libdir}/libpcp.so.* -%attr(764,root,apache) %{_datadir}/%{short_name}/*.conf.sample -%{_datadir}/%{short_name}/pgpool.pam +%attr(764,root,apache) %{_datadir}/%{name}/*.conf.sample +%{_datadir}/%{name}/pgpool.pam +%{_initrddir}/pgpool +%config(noreplace) %{_sysconfdir}/sysconfig/pgpool %files devel %defattr(-,root,root,-) @@ -85,6 +97,17 @@ rm -rf %{buildroot} %{_libdir}/libpcp.so %changelog +* Thu Aug 16 2007 Devrim Gunduz 1.2-4 +- Fixed the directory name where sample conf files and sql files + are installed. + +* Sun Aug 5 2007 Devrim Gunduz 1.2-3 +- Added a patch for sample conf file to use Fedora defaults + +* Sun Aug 5 2007 Devrim Gunduz 1.2-2 +- Added an init script for pgpool +- Added /etc/sysconfig/pgpool + * Wed Aug 1 2007 Devrim Gunduz 1.2-1 - Update to 1.2 From 2988959cc2c814f05b1002afc2734f89a89d225d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Thu, 16 Aug 2007 09:22:59 +0000 Subject: [PATCH 09/10] Backport all changes in devel to stable releases. --- pgpool.conf.sample | 148 +++++++++++++++++++++++++++++++++++ pgpool.conf.sample.patch | 40 ++++++++++ pgpool.init | 163 +++++++++++++++++++++++++++++++++++++++ pgpool.sysconfig | 6 ++ 4 files changed, 357 insertions(+) create mode 100644 pgpool.conf.sample create mode 100644 pgpool.conf.sample.patch create mode 100755 pgpool.init create mode 100644 pgpool.sysconfig diff --git a/pgpool.conf.sample b/pgpool.conf.sample new file mode 100644 index 0000000..a460d5d --- /dev/null +++ b/pgpool.conf.sample @@ -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 diff --git a/pgpool.conf.sample.patch b/pgpool.conf.sample.patch new file mode 100644 index 0000000..48ee3f7 --- /dev/null +++ b/pgpool.conf.sample.patch @@ -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/F-7/pgpool.conf.sample.patch,v 1.1 2007/08/16 09:22:59 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 diff --git a/pgpool.init b/pgpool.init new file mode 100755 index 0000000..8c96220 --- /dev/null +++ b/pgpool.init @@ -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 +# - 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 diff --git a/pgpool.sysconfig b/pgpool.sysconfig new file mode 100644 index 0000000..ef8e2e1 --- /dev/null +++ b/pgpool.sysconfig @@ -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" From fa76030ba99ee5f69bfe9c911b849afc1463bfd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Devrim=20G=C3=9CND=C3=9CZ?= Date: Thu, 16 Aug 2007 09:44:51 +0000 Subject: [PATCH 10/10] Update spec file per latest changes. --- postgresql-pgpool-II.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/postgresql-pgpool-II.spec b/postgresql-pgpool-II.spec index bdd5221..f0bb1ec 100644 --- a/postgresql-pgpool-II.spec +++ b/postgresql-pgpool-II.spec @@ -54,7 +54,10 @@ make %{?_smp_flags} %install rm -rf %{buildroot} make %{?_smp_flags} DESTDIR=%{buildroot} install +install -d %{buildroot}%{_datadir}/%{name} mv %{buildroot}/%{_sysconfdir}/*.conf.sample %{buildroot}%{_datadir}/%{name} +mv %{buildroot}%{_datadir}/%{short_name}/system_db.sql %{buildroot}%{_datadir}/%{name} +mv %{buildroot}%{_datadir}/%{short_name}/pgpool.pam %{buildroot}%{_datadir}/%{name} install -d %{buildroot}%{_initrddir} install -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/pgpool install -d %{buildroot}%{_sysconfdir}/sysconfig