diff --git a/databases/pgbouncer/Makefile b/databases/pgbouncer/Makefile index e61ea879ea40..867c56b2c9c5 100644 --- a/databases/pgbouncer/Makefile +++ b/databases/pgbouncer/Makefile @@ -1,65 +1,65 @@ PORTNAME= pgbouncer -PORTVERSION= 1.22.1 +DISTVERSION= 1.23.1 CATEGORIES= databases -MASTER_SITES= https://www.pgbouncer.org/downloads/files/${PORTVERSION}/ \ - http://www.pgbouncer.org/downloads/files/${PORTVERSION}/ +MASTER_SITES= https://www.pgbouncer.org/downloads/files/${DISTVERSION}/ MAINTAINER= dmitry.wagin@ya.ru COMMENT= Lightweight connection pooler for PostgreSQL WWW= https://www.pgbouncer.org/ LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/COPYRIGHT LIB_DEPENDS= libevent.so:devel/libevent USES= cpe gmake pkgconfig ssl USE_RC_SUBR= pgbouncer GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-evdns \ --with-libevent=${LOCALBASE} CONFIGURE_ENV+= PTHREAD_LIBS="-lpthread" PORTSCOUT= site:https://pgbouncer.github.io/downloads/ SUB_FILES= pkg-message SUB_LIST+= PGBOUNCER_RUNDIR="${PGBOUNCER_RUNDIR}" USERS= ${PGBOUNCER_USER} GROUPS= ${PGBOUNCER_GROUP} PLIST_SUB+= PGBOUNCER_GROUP="${GROUPS}" \ PGBOUNCER_LOGDIR="${PGBOUNCER_LOGDIR}" \ PGBOUNCER_RUNDIR="${PGBOUNCER_RUNDIR}" \ PGBOUNCER_USER="${USERS}" OPTIONS_DEFINE= CARES CARES_LIB_DEPENDS= libcares.so:dns/c-ares CARES_CONFIGURE_WITH= cares PGBOUNCER_GROUP?= pgbouncer PGBOUNCER_USER?= pgbouncer PGBOUNCER_RUNDIR?= /var/run/pgbouncer PGBOUNCER_LOGDIR?= /var/log/pgbouncer post-patch: @${REINPLACE_CMD} -e "s|= /etc/pgbouncer/userlist.txt|= ${PREFIX}/etc/pgbouncer.users|g" \ -e "s|= /var/log/pgbouncer/pgbouncer.log|= ${PGBOUNCER_LOGDIR}/pgbouncer.log|g" \ -e "s|= /var/run/pgbouncer/pgbouncer.pid|= ${PGBOUNCER_RUNDIR}/pgbouncer.pid|g" \ -e "s|= /etc/pgbouncer/resolv.conf|= ${PREFIX}/etc/pgbouncer-resolv.conf|g" \ -e "s|include /etc/pgbouncer/pgbouncer-other.ini|include ${PREFIX}/etc/pgbouncer-other.ini|g" \ ${WRKSRC}/etc/pgbouncer.ini do-install: ${INSTALL_PROGRAM} ${WRKSRC}/pgbouncer ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_MAN} ${WRKSRC}/doc/pgbouncer.1 ${STAGEDIR}${PREFIX}/share/man/man1/ ${INSTALL_MAN} ${WRKSRC}/doc/pgbouncer.5 ${STAGEDIR}${PREFIX}/share/man/man5/ ${INSTALL_DATA} ${WRKSRC}/etc/pgbouncer.ini \ ${STAGEDIR}${PREFIX}/etc/pgbouncer.ini.sample ${INSTALL_DATA} ${WRKSRC}/etc/userlist.txt \ ${STAGEDIR}${PREFIX}/etc/pgbouncer.users.sample @${MKDIR} ${STAGEDIR}${PGBOUNCER_RUNDIR} \ ${STAGEDIR}${PGBOUNCER_LOGDIR} .include diff --git a/databases/pgbouncer/distinfo b/databases/pgbouncer/distinfo index 3a5f02bca9e9..1232ed485344 100644 --- a/databases/pgbouncer/distinfo +++ b/databases/pgbouncer/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1709578392 -SHA256 (pgbouncer-1.22.1.tar.gz) = 2b018aa6ce7f592c9892bb9e0fd90262484eb73937fd2af929770a45373ba215 -SIZE (pgbouncer-1.22.1.tar.gz) = 677351 +TIMESTAMP = 1734778449 +SHA256 (pgbouncer-1.23.1.tar.gz) = 1963b497231d9a560a62d266e4a2eae6881ab401853d93e5d292c3740eec5084 +SIZE (pgbouncer-1.23.1.tar.gz) = 700025 diff --git a/databases/pgbouncer/pkg-descr b/databases/pgbouncer/pkg-descr index 177292cc8c26..a4690341723d 100644 --- a/databases/pgbouncer/pkg-descr +++ b/databases/pgbouncer/pkg-descr @@ -1 +1,33 @@ -Lightweight connection pooler for PostgreSQL. +PgBouncer is a PostgreSQL connection pooler. Any target application can be +connected to PgBouncer as if it were a PostgreSQL server, and PgBouncer will +create a connection to the actual server, or it will reuse one of its existing +connections. + +The aim of PgBouncer is to lower the performance impact of opening new +connections to PostgreSQL. + +In order not to compromise transaction semantics for connection pooling, +PgBouncer supports several types of pooling when rotating connections: + +* Session pooling + +Most polite method. When a client connects, a server connection will be assigned +to it for the whole duration it stays connected. When the client disconnects, +the server connection will be put back into pool. This mode supports all +PostgreSQL features. + +* Transaction pooling + +A server connection is assigned to a client only during a transaction. When +PgBouncer notices that the transaction is over, the server will be put back into +the pool. + +This mode breaks a few session-based features of PostgreSQL. You can use it only +when the application cooperates by not using features that break. See the table +below for incompatible features. + +* Statement pooling + +Most aggressive method. This is transaction pooling with a twist: +Multi-statement transactions are disallowed. This is meant to enforce +“autocommit” mode on the client, mostly targeted at PL/Proxy.