PostgreSQL 15 ← 14
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.
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_depend| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
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.
| Columns | Type | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
Column evolution matrix
Hover a cell for the column type| COLUMN | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 majorsPostgreSQL 14 ← 13
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.