PostgreSQL 17 ← 16
SYSTEM CATALOG · System catalog
pg_collation
The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_collation| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
oid |
oidNOT NULL |
Row identifier |
collname |
nameNOT NULL |
Collation name (unique per namespace and encoding) |
collnamespace |
oidNOT NULL |
The OID of the namespace that contains this collationReferences:pg_namespace.oid |
collowner |
oidNOT NULL |
Owner of the collationReferences:pg_authid.oid |
collprovider |
"char"NOT NULLDocumented as:char |
Provider of the collation: d = database default, b = builtin, c = libc, i = icu |
collisdeterministic |
booleanNOT NULLDocumented as:bool |
Is the collation deterministic? |
collencoding |
integerNOT NULLDocumented as:int4 |
Encoding in which the collation is applicable, or -1 if it works for any encoding |
collcollate |
text |
LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead. |
collctype |
text |
LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead. |
colllocale |
text |
Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead. |
collicurules |
text |
ICU collation rules for this collation object |
collversion |
text |
Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption. |
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 type9.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 16 ← 15
PostgreSQL 15 ← 14
PostgreSQL 14 ← 13
PostgreSQL 12 ← 11
PostgreSQL 10 ← 9.6
PostgreSQL 9.6 ← 9.5
PostgreSQL 9.3 ← 9.2
PostgreSQL 9.1 ← 9.0Catalog added
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.