Skip to content
← Catalog atlas / pg_publication

SYSTEM CATALOG · System catalog

pg_publication

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

First seen PG 10Last seen PG 19Columns 10

Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗

Columns PostgreSQL 18

pg_publication
COLUMNTYPEDESCRIPTION
oid oidNOT NULL Row identifier
pubname nameNOT NULL Name of the publication
pubowner oidNOT NULL Owner of the publicationReferences:pg_authid.oid
puballtables booleanNOT NULLDocumented as:bool If true, this publication automatically includes all tables in the database, including any that will be created in the future.
pubinsert booleanNOT NULLDocumented as:bool If true, INSERT operations are replicated for tables in the publication.
pubupdate booleanNOT NULLDocumented as:bool If true, UPDATE operations are replicated for tables in the publication.
pubdelete booleanNOT NULLDocumented as:bool If true, DELETE operations are replicated for tables in the publication.
pubtruncate booleanNOT NULLDocumented as:bool If true, TRUNCATE operations are replicated for tables in the publication.
pubviaroot booleanNOT NULLDocumented as: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"NOT NULLDocumented as: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.

Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.

Common system columns 6

System attributes PostgreSQL provides, normally not expanded by SELECT *. Kept separately so they are not mixed in with ordinary columns.

ColumnsTypeattnum
tableoidoid-6
cmaxcid-5
xmaxxid-4
cmincid-3
xminxid-2
ctidtid-1

Column evolution matrix

Hover a cell for the column type
PresentAdded / type or attribute changeRemoved
COLUMN9.09.19.29.39.49.59.610111213141516171819
oid
pubname
pubowner
puballtables
pubinsert
pubupdate
pubdelete
pubtruncate
pubviaroot
pubgencols
puballsequences

9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.

Evolution timeline

Changes between adjacent majors

PostgreSQL 19 ← 18

+ puballsequences

PostgreSQL 18 ← 17

+ pubgencols

PostgreSQL 17 ← 16

Catalog description updated

PostgreSQL 14 ← 13

Catalog description updated

PostgreSQL 13 ← 12

+ pubviaroot

PostgreSQL 12 ← 11

~ oid: implicit → ordinary1 column description updatesCatalog description updated

PostgreSQL 11 ← 10

+ pubtruncate

PostgreSQL 10 ← 9.6Catalog added

+ oid+ pubname+ pubowner+ puballtables+ pubinsert+ pubupdate+ pubdelete

Compare any two versions

Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.