Skip to content
← Catalog atlas / pg_depend

SYSTEM CATALOG · System catalog

pg_depend

The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case. See also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.

First seen PG 9.0Last seen PG 19Columns 7

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

Columns PostgreSQL 18

pg_depend
COLUMNTYPEDESCRIPTION
classid oidNOT NULL The OID of the system catalog the dependent object is inReferences:pg_class.oid
objid oidNOT NULL The OID of the specific dependent objectReferences:any OID column
objsubid integerNOT NULLDocumented as:int4 For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.
refclassid oidNOT NULL The OID of the system catalog the referenced object is inReferences:pg_class.oid
refobjid oidNOT NULL The OID of the specific referenced objectReferences:any OID column
refobjsubid integerNOT NULLDocumented as:int4 For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.
deptype "char"NOT NULLDocumented as:char A code defining the specific semantics of this dependency relationship; see text

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
classid
objid
objsubid
refclassid
refobjid
refobjsubid
deptype

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 15 ← 14

2 column description updates

PostgreSQL 14 ← 13

2 column description updates

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.