pg_publication — PostgreSQL system catalog

The PostgreSQL pg_publication system catalog: full column reference (names, types, descriptions), catalog relationships and version support.

Summary

The catalog pg_publication contains all publications created in the database. For more on publications see logical_replication_publication.

(Description quoted from the official PostgreSQL documentation.)

Columns

The pg_publication system catalog exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):

  • oid oid
    Row identifier
  • pubname name
    Name of the publication
  • pubowner oid references pg_authid.oid
    Owner of the publication
  • puballtables bool
    If true, this publication automatically includes all tables in the database, including any that will be created in the future.
  • puballsequences bool
    If true, this publication automatically includes all sequences in the database, including any that will be created in the future.
  • pubinsert bool
    If true, insert operations are replicated for tables in the publication.
  • pubupdate bool
    If true, update operations are replicated for tables in the publication.
  • pubdelete bool
    If true, delete operations are replicated for tables in the publication.
  • pubtruncate bool
    If true, truncate operations are replicated for tables in the publication.
  • pubviaroot bool
    If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.
  • pubgencols char
    Controls how to handle generated column replication when there is no publication column list: n = generated columns in the tables associated with the publication should not be replicated, s = stored generated columns in the tables associated with the publication should be replicated.

Related catalogs

This object references the following other system catalogs:

Version applicability

Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.

Related & references

Reference: PostgreSQL documentation — pg_publication.