databases/pgpool-II-42: New port

pgpool is a connection pool server for PostgreSQL. pgpool runs between
PostgreSQL's clients(front ends) and servers(back ends). A PostgreSQL client can
connect to pgpool as if it were a standard PostgreSQL server.

pgpool caches the connection to PostgreSQL server to reduce the overhead to
establish the connection to it.

WWW: https://pgpool.net/

PR:		256128
Submitted by:	Mike Jakubik <mike.jakubik@swiftsmsgateway.com>
This commit is contained in:
Torsten Zuehlsdorff 2021-06-04 23:19:06 +02:00
parent c4d81d7c8b
commit c167b0329e
7 changed files with 172 additions and 0 deletions

View File

@ -591,6 +591,7 @@
SUBDIR += pgpool-II-37
SUBDIR += pgpool-II-40
SUBDIR += pgpool-II-41
SUBDIR += pgpool-II-42
SUBDIR += pgreplay
SUBDIR += pgroonga
SUBDIR += pgrouting

View File

@ -0,0 +1,51 @@
PORTNAME= pgpool-II
PORTVERSION= 4.2.3
CATEGORIES= databases
MASTER_SITES= http://www.pgpool.net/mediawiki/images/
PKGNAMESUFFIX= 42
MAINTAINER= mike.jakubik@swiftsmsgateway.com
COMMENT= Connection pool server for PostgreSQL
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
PORTSCOUT= limit:^4.2.[0-9]*
USES= gmake libtool pgsql:9.6+
USE_LDCONFIG= yes
USE_RC_SUBR= pgpool
GNU_CONFIGURE= yes
CONFLICTS= pgpool-II-[0-9]*
PORTDOCS= *
PAM_DESC= Build with PAM support
SSL_DESC= Build with OpenSSL support
MEMCACHED_DESC= Use memcached for in memory query cache
OPTIONS_DEFINE= DOCS SSL PAM MEMCACHED
OPTIONS_DEFAULT= SSL
MEMCACHED_CONFIGURE_ON= --with-memcached=${LOCALBASE}/include
MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached
PAM_CONFIGURE_ON= --with-pam
SSL_CONFIGURE_WITH= openssl
SSL_USES= ssl
post-install:
@${MKDIR} ${STAGEDIR}/var/run/pgpool
${INSTALL_LIB} ${WRKSRC}/src/libs/pcp/.libs/libpcp.so.2.0.0 ${STAGEDIR}${PREFIX}/lib
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} doc ${STAGEDIR}${DOCSDIR} "-not -name Makefile.\*"
.for f in AUTHORS ChangeLog NEWS TODO
${INSTALL_DATA} ${WRKSRC}/$f ${STAGEDIR}${DOCSDIR}
.endfor
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1621536839
SHA256 (pgpool-II-4.2.3.tar.gz) = 1cd3a9100aab6711050b291e94e4805287182054ce7811a697bc05723150d6cc
SIZE (pgpool-II-4.2.3.tar.gz) = 4751944

View File

@ -0,0 +1,48 @@
#!/bin/sh
# PROVIDE: pgpool
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# pgpool_enable (bool): Set to NO by default.
# Set it to YES to enable pgpool.
# pgpool_conf (file): Set location of your config.
# Default is "%%PREFIX%%/etc/pgpool.conf"
# pgpool_hba (file): Set location of your pool hba file.
# Default is "%%PREFIX%%/etc/pool_hba.conf"
# pgpool_pcp (file): Set location of your pcp conf file.
# Default is "%%PREFIX%%/etc/pcp.conf"
# pgpool_user (uid): User ID to run as (default nobody)
# pgpool_stop_mode (string): Shutdown mode
# Default is "smart"
# Possibilities are "smart", "fast", or "immediate"
#
. /etc/rc.subr
name=pgpool
rcvar=pgpool_enable
load_rc_config $name
: ${pgpool_enable="NO"}
: ${pgpool_conf="%%PREFIX%%/etc/pgpool.conf"}
: ${pgpool_hba="%%PREFIX%%/etc/pool_hba.conf"}
: ${pgpool_pcp="%%PREFIX%%/etc/pcp.conf"}
: ${pgpool_user="nobody"}
: ${pgpool_stop_mode="smart"}
command="%%PREFIX%%/bin/pgpool"
command_args="-f ${pgpool_conf} -a ${pgpool_hba} -F ${pgpool_pcp}"
stop_cmd="${command} -m ${pgpool_stop_mode} ${command_args} stop"
reload_cmd="${command} ${command_args} reload"
extra_commands="reload"
required_files="${pgpool_conf}"
run_rc_command "$1"

View File

@ -0,0 +1,8 @@
pgpool is a connection pool server for PostgreSQL. pgpool runs between
PostgreSQL's clients(front ends) and servers(back ends). A PostgreSQL client can
connect to pgpool as if it were a standard PostgreSQL server.
pgpool caches the connection to PostgreSQL server to reduce the overhead to
establish the connection to it.
WWW: https://pgpool.net/

View File

@ -0,0 +1,15 @@
[
{ type: install
message: <<EOM
In order to start pgpool you need some more configuration:
# sysrc -f /etc/rc.conf pgpool_enable="YES"
# sysrc -f /etc/rc.conf pgpool_user="root"
Please consider the usage of another user. The user is
required to have read/write access to /var/run/pgpool.
Using the root user is - as always - an security issue.
EOM
}
]

View File

@ -0,0 +1,46 @@
bin/pcp_attach_node
bin/pcp_detach_node
bin/pcp_health_check_stats
bin/pcp_node_count
bin/pcp_node_info
bin/pcp_pool_status
bin/pcp_proc_count
bin/pcp_proc_info
bin/pcp_promote_node
bin/pcp_recovery_node
bin/pcp_reload_config
bin/pcp_stop_pgpool
bin/pcp_watchdog_info
bin/pg_enc
bin/pg_md5
bin/pgpool
bin/pgpool_setup
bin/pgproto
bin/watchdog_setup
bin/wd_cli
@sample etc/escalation.sh.sample
@sample etc/failover.sh.sample
@sample etc/follow_primary.sh.sample
@sample etc/pcp.conf.sample
@sample etc/pgpool.conf.sample
@sample etc/pgpool_remote_start.sample
@sample etc/pool_hba.conf.sample
etc/pgpool.conf.sample-logical
etc/pgpool.conf.sample-raw
etc/pgpool.conf.sample-replication
etc/pgpool.conf.sample-stream
etc/pgpool.conf.sample-slony
etc/pgpool.conf.sample-snapshot
etc/recovery_1st_stage.sample
etc/recovery_2nd_stage.sample
include/libpcp_ext.h
include/pcp.h
include/pool_process_reporting.h
include/pool_type.h
lib/libpcp.a
lib/libpcp.so
lib/libpcp.so.2
lib/libpcp.so.2.0.0
%%DATADIR%%/insert_lock.sql
%%DATADIR%%/pgpool.pam
@dir /var/run/pgpool