PostgreSQL 15 ← 14
SYSTEM CATALOG · System catalog
pg_shdepend
The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them. See also pg_depend, which performs a similar function for dependencies involving objects within a single database. Unlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_shdepend| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
dbid |
oidNOT NULL |
The OID of the database the dependent object is in, or zero for a shared objectReferences:pg_database.oid |
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 in (must be a shared catalog)References:pg_class.oid |
refobjid |
oidNOT NULL |
The OID of the specific referenced objectReferences:any OID column |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dbid |
|||||||||||||||||
classid |
|||||||||||||||||
objid |
|||||||||||||||||
objsubid |
|||||||||||||||||
refclassid |
|||||||||||||||||
refobjid |
|||||||||||||||||
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.