pgpool_regclass

pgpool_regclass

pgpool : replacement for regclass

Overview

ID Extension Package Version Category License Language
5920
pgpool_regclass
pgpool
4.7.1
ADMIN
PostgreSQL
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
----d--
No
No
No
Yes
no
no
Relationships
See Also
pg_repack
pg_rewrite
pg_squeeze
pg_dirtyread
pgfincore
pg_cooldown
Siblings
pgpool_adm
pgpool_recovery

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PGDG
4.7.1
18
17
16
15
14
pgpool -
RPM
PGDG
4.7.1
18
17
16
15
14
pgpool-II-pg$v-extensions -
DEB
PGDG
4.7.1
18
17
16
15
14
postgresql-$v-pgpool2 -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
el8.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
el9.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
el9.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
el10.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
el10.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
d12.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
d12.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
d13.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
d13.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
u22.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
u22.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
u24.x86_64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
u24.aarch64
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1
PGDG 4.7.1

Source

Install

Make sure PGDG repo available:

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

Install this extension with pig:

pig install pgpool;		# install via package name, for the active PG version
pig install pgpool_regclass;		# install by extension name, for the current active PG version

pig install pgpool_regclass -v 18;   # install for PG 18
pig install pgpool_regclass -v 17;   # install for PG 17
pig install pgpool_regclass -v 16;   # install for PG 16
pig install pgpool_regclass -v 15;   # install for PG 15
pig install pgpool_regclass -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION pgpool_regclass;

Usage

pgpool_regclass: replacement for regclass

The pgpool_regclass extension provides a replacement regclass function used internally by Pgpool-II to handle relation name resolution across multiple backends.

Function

-- Resolve a relation name to its OID, similar to PostgreSQL's regclass cast
SELECT pgpool_regclass('my_table');
SELECT pgpool_regclass('my_schema.my_table');

Purpose

In standard PostgreSQL, casting a string to regclass (e.g., 'my_table'::regclass) resolves the relation name to an OID. However, Pgpool-II needs to determine whether a SQL statement references a temporary table or a regular table to route queries correctly.

The pgpool_regclass function provides this resolution capability as a regular function call rather than a type cast, allowing Pgpool-II to:

  • Determine if a referenced table exists on the backend
  • Distinguish temporary tables from permanent tables for proper query routing
  • Handle schema-qualified table names correctly across pooled connections

Notes

  • This extension is primarily used internally by Pgpool-II and is not typically called directly by applications
  • It should be installed on all PostgreSQL backend nodes managed by Pgpool-II
  • For Pgpool-II 3.0+, this function helps with the check_temp_table feature
Last updated on