pgpool_adm

Administrative functions for pgPool

Overview

PackageVersionCategoryLicenseLanguage
pgpool4.7.1ADMINPostgreSQLC
IDExtensionBinLibLoadCreateTrustRelocSchema
5900pgpool_admNoNoNoYesNoNo-
5910pgpool_recoveryNoNoNoYesNoNo-
5920pgpool_regclassNoNoNoYesNoNo-
Relatedpgautofailover pg_failover_slots pg_repack pg_rewrite pg_squeeze pg_dirtyread

Version

TypeRepoVersionPG VerPackageDeps
EXTPGDG4.7.11817161514pgpool-
RPMPGDG4.7.11817161514pgpool-II-pg$v-extensions-
DEBPGDG4.7.11817161514postgresql-$v-pgpool2-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 4.7.1
el8.x86_64.pg14 : pgpool-II-pg14-extensions
pgpool-II-pg14-extensions-4.7.1-1PGDG.rhel8.10.x86_64.rpm PGDG · 4.7.1 · 33.3KiB pgpool-II-pg14-extensions-4.7.0-1PGDG.rhel8.10.x86_64.rpm PGDG · 4.7.0 · 33.5KiB pgpool-II-pg14-extensions-4.6.5-1PGDG.rhel8.10.x86_64.rpm PGDG · 4.6.5 · 32.1KiB pgpool-II-pg14-extensions-4.6.4-1PGDG.rhel8.10.x86_64.rpm PGDG · 4.6.4 · 31.9KiB pgpool-II-pg14-extensions-4.6.3-1PGDG.rhel8.x86_64.rpm PGDG · 4.6.3 · 31.2KiB pgpool-II-pg14-extensions-4.6.2-1PGDG.rhel8.x86_64.rpm PGDG · 4.6.2 · 31.1KiB pgpool-II-pg14-extensions-4.6.1-1PGDG.rhel8.x86_64.rpm PGDG · 4.6.1 · 30.9KiB pgpool-II-pg14-extensions-4.6.0-1PGDG.rhel8.x86_64.rpm PGDG · 4.6.0 · 30.8KiB pgpool-II-pg14-extensions-4.5.5-1PGDG.rhel8.x86_64.rpm PGDG · 4.5.5 · 30.5KiB pgpool-II-pg14-extensions-4.5.4-1PGDG.rhel8.x86_64.rpm PGDG · 4.5.4 · 30.3KiB pgpool-II-pg14-extensions-4.5.3-1PGDG.rhel8.x86_64.rpm PGDG · 4.5.3 · 30.2KiB pgpool-II-pg14-extensions-4.5.1-1PGDG.rhel8.x86_64.rpm PGDG · 4.5.1 · 29.9KiB pgpool-II-pg14-extensions-4.5.0-1PGDG.rhel8.x86_64.rpm PGDG · 4.5.0 · 29.3KiB pgpool-II-pg14-extensions-4.4.2-1.rhel8.x86_64.rpm PGDG · 4.4.2 · 29.2KiB pgpool-II-pg14-extensions-4.4.1-1.rhel8.x86_64.rpm PGDG · 4.4.1 · 28.7KiB pgpool-II-pg14-extensions-4.3.3-1.rhel8.x86_64.rpm PGDG · 4.3.3 · 28.6KiB pgpool-II-pg14-extensions-4.3.2-1.rhel8.x86_64.rpm PGDG · 4.3.2 · 28.4KiB pgpool-II-pg14-extensions-4.3.1-1.rhel8.x86_64.rpm PGDG · 4.3.1 · 28.3KiB pgpool-II-pg14-extensions-4.3.0-1.rhel8.x86_64.rpm PGDG · 4.3.0 · 28.4KiB
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
u22.x86_64
u22.aarch64
u24.x86_64
u24.aarch64

Install

You can install pgpool directly. First, make sure the PGDG repository is added and enabled:

pig repo add pgdg -u          # Add PGDG repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install pgpool;          # Install for current active PG version
pig ext install -y pgpool -v 18  # PG 18
pig ext install -y pgpool -v 17  # PG 17
pig ext install -y pgpool -v 16  # PG 16
pig ext install -y pgpool -v 15  # PG 15
pig ext install -y pgpool -v 14  # PG 14
dnf install -y pgpool-II-pg18-extensions       # PG 18
dnf install -y pgpool-II-pg17-extensions       # PG 17
dnf install -y pgpool-II-pg16-extensions       # PG 16
dnf install -y pgpool-II-pg15-extensions       # PG 15
dnf install -y pgpool-II-pg14-extensions       # PG 14
apt install -y postgresql-18-pgpool2   # PG 18
apt install -y postgresql-17-pgpool2   # PG 17
apt install -y postgresql-16-pgpool2   # PG 16
apt install -y postgresql-15-pgpool2   # PG 15
apt install -y postgresql-14-pgpool2   # PG 14

Create Extension:

CREATE EXTENSION pgpool_adm;

Usage

pgpool_adm: Administrative functions for pgPool

The pgpool_adm extension provides SQL-callable wrapper functions for Pgpool-II PCP (Pgpool Control Protocol) commands, enabling administration of Pgpool-II from within PostgreSQL.

Available Functions

FunctionDescription
pgpool_adm_pcp_node_infoDisplay information on a given backend node
pgpool_adm_pcp_health_check_statsDisplay health check statistics for a node
pgpool_adm_pcp_pool_statusRetrieve parameters from pgpool.conf
pgpool_adm_pcp_node_countGet the number of backend nodes
pgpool_adm_pcp_attach_nodeAttach a backend node
pgpool_adm_pcp_detach_nodeDetach a backend node
pgpool_adm_pcp_proc_infoDisplay Pgpool-II child process information

Call Methods

Functions support two calling conventions:

Direct parameters (hostname, port, username, password, plus function-specific args):

SELECT * FROM pgpool_adm_pcp_node_info('localhost', 9898, 'admin', 'password', 0);
SELECT * FROM pgpool_adm_pcp_node_count('localhost', 9898, 'admin', 'password');
SELECT * FROM pgpool_adm_pcp_pool_status('localhost', 9898, 'admin', 'password');

Foreign server reference (uses port 9898 and credentials from ~/.pcppass):

SELECT * FROM pgpool_adm_pcp_node_info(server_name := 'pgpool_server', node_id := 0);
SELECT * FROM pgpool_adm_pcp_node_count(server_name := 'pgpool_server');

Node Management

-- Detach a backend node
SELECT pgpool_adm_pcp_detach_node('localhost', 9898, 'admin', 'password', 1);

-- Re-attach a backend node
SELECT pgpool_adm_pcp_attach_node('localhost', 9898, 'admin', 'password', 1);

The default PCP communication port is 9898. Credentials can be managed via the .pcppass file in the user’s home directory.


Last Modified 2026-03-12: add pg extension catalog (95749bf)