Wiki / psql Commands / Describe database objects
\d
For each relation (table, view, materialized view, index, sequence, or foreign table) or composite type matching the pattern , show all columns, their types, the tablespace (if not the default) and any special attributes such as NOT NULL or defaults…
Reading PostgreSQL 18.6.
Description
For each relation (table, view, materialized view, index, sequence, or foreign table) or composite type matching the pattern , show all columns, their types, the tablespace (if not the default) and any special attributes such as NOT NULL or defaults. Associated indexes, constraints, rules, and triggers are also shown. For foreign tables, the associated foreign server is shown as well. ( “ Matching the pattern ” is defined in Patterns below.)
- Client
- psql 18.6
- Case-sensitive spelling
- \d
Usage
\d[Sx+] [ pattern ]Spellings in this manual definition
| Command | Documented suffix modifiers |
|---|---|
| \d | Sx+ |
Manual definition
\d[Sx+] [pattern]-
For each relation (table, view, materialized view, index, sequence, or foreign table) or composite type matching the
pattern, show all columns, their types, the tablespace (if not the default) and any special attributes such asNOT NULLor defaults. Associated indexes, constraints, rules, and triggers are also shown. For foreign tables, the associated foreign server is shown as well. (“Matching the pattern” is defined in Patterns below.)For some types of relation,
\dshows additional information for each column: column values for sequences, indexed expressions for indexes, and foreign data wrapper options for foreign tables.The command form
\d+is identical, except that more information is displayed: any comments associated with the columns of the table are shown, as is the presence of OIDs in the table, the view definition if the relation is a view, a non-default replica identity setting and the access method name if the relation has an access method.By default, only user-created objects are shown; supply a pattern or the
Smodifier to include system objects.Note
If
\dis used without apatternargument, it is equivalent to\dtvmsEwhich will show a list of all visible tables, views, materialized views, sequences and foreign tables. This is purely a convenience measure.As with many other commands, if
xis appended to the command name, the results are displayed in expanded mode, but note that this only applies when\dis used without apatternargument, and thexmodifier cannot appear immediately after the\d(because\dxis a different command); thexmodifier may only appear after anSor+modifier. For example,\d+xis equivalent to\dtvmsE+xand will show a list of all relations in expanded mode.
Related entries
Documentation and source
Source build
- Version
- 18.6
- Build
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- Source fingerprint
ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8
Compare versions
PostgreSQL 17 → 18: changed.
--- PostgreSQL 17
+++ PostgreSQL 18
@@ -1,12 +1,12 @@
{
- "definition": "For each relation (table, view, materialized view, index, sequence, or foreign table) or composite type matching the pattern , show all columns, their types, the tablespace (if not the default) and any special attributes such as NOT NULL or defaults. Associated indexes, constraints, rules, and triggers are also shown. For foreign tables, the associated foreign server is shown as well. ( “ Matching the pattern ” is defined in Patterns below.) For some types of relation, \\d shows additional information for each column: column values for sequences, indexed expressions for indexes, and foreign data wrapper options for foreign tables. The command form \\d+ is identical, except that more information is displayed: any comments associated with the columns of the table are shown, as is the presence of OIDs in the table, the view definition if the relation is a view, a non-default replica identity setting and the access method name if the relation has an access method. By default, only user-created objects are shown; supply a pattern or the S modifier to include system objects. Note If \\d is used without a pattern argument, it is equivalent to \\dtvmsE which will show a list of all visible tables, views, materialized views, sequences and foreign tables. This is purely a convenience measure.",
+ "definition": "For each relation (table, view, materialized view, index, sequence, or foreign table) or composite type matching the pattern , show all columns, their types, the tablespace (if not the default) and any special attributes such as NOT NULL or defaults. Associated indexes, constraints, rules, and triggers are also shown. For foreign tables, the associated foreign server is shown as well. ( “ Matching the pattern ” is defined in Patterns below.) For some types of relation, \\d shows additional information for each column: column values for sequences, indexed expressions for indexes, and foreign data wrapper options for foreign tables. The command form \\d+ is identical, except that more information is displayed: any comments associated with the columns of the table are shown, as is the presence of OIDs in the table, the view definition if the relation is a view, a non-default replica identity setting and the access method name if the relation has an access method. By default, only user-created objects are shown; supply a pattern or the S modifier to include system objects. Note If \\d is used without a pattern argument, it is equivalent to \\dtvmsE which will show a list of all visible tables, views, materialized views, sequences and foreign tables. This is purely a convenience measure. As with many other commands, if x is appended to the command name, the results are displayed in expanded mode, but note that this only applies when \\d is used without a pattern argument, and the x modifier cannot appear immediately after the \\d (because \\dx is a different command); the x modifier may only appear after an S or + modifier. For example, \\d+x is equivalent to \\dtvmsE+x and will show a list of all relations in expanded mode.",
"modifiers": [
{
"command": "\\d",
- "modifiers": "S+"
+ "modifiers": "Sx+"
}
],
- "signature": "\\d[S+] [ pattern ]",
+ "signature": "\\d[Sx+] [ pattern ]",
"spellings": [
"\\d"
]
Compares recorded interfaces and attributes. Source fingerprints and build metadata are excluded; an absent sample is not proof of the introduction or removal release.
Related entries
Export JSON · Back to psql Commands · Recorded in PostgreSQL 10 through 20; the first sample is not necessarily its introduction.