1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-05 09:19:17 +03:00

psql: Add option to use expanded mode to all list commands.

This allows "x" to be appended to any psql list-like meta-command,
forcing its output to be displayed in expanded mode. This improves
readability in cases where the output is very wide. For example,
"\dfx+" (or equivalently "\df+x") will produce a list of functions,
with additional details, in expanded mode.

This works with all \d* meta-commands, plus \l, \z, and \lo_list, with
the one exception that the expanded mode option "x" cannot be appended
to "\d" by itself, since "\dx" already means something else.

Dean Rasheed, reviewed by Greg Sabino Mullane.

Discussion: https://postgr.es/m/CAEZATCVXJk3KsmCncf7PAVbxdDAUDm3QzDgGT7mBYySWikuOYw@mail.gmail.com
This commit is contained in:
Dean Rasheed 2025-01-14 16:29:15 +00:00
parent 94b914f601
commit 00f4c2959d
6 changed files with 418 additions and 131 deletions

View File

@ -864,6 +864,13 @@ testdb=>
same line. same line.
</para> </para>
<para>
Many of the meta-commands also allow <literal>x</literal> to be appended
as an option. This will cause the results to be displayed in expanded
mode, as if <command>\x</command> or <command>\pset expanded</command>
had been used.
</para>
<para> <para>
The following meta-commands are defined: The following meta-commands are defined:
@ -1272,7 +1279,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-d"> <varlistentry id="app-psql-meta-command-d">
<term><literal>\d[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\d[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
@ -1321,12 +1328,24 @@ SELECT $1 \parse stmt1
foreign tables. foreign tables.
This is purely a convenience measure. This is purely a convenience measure.
</para> </para>
<para>
As with many other commands, if <literal>x</literal> is appended to
the command name, the results are displayed in expanded mode, but note
that this only applies when <command>\d</command> is used without a
<replaceable class="parameter">pattern</replaceable> argument, and
the <literal>x</literal> modifier cannot appear immediately after the
<command>\d</command> (because <command>\dx</command> is a different
command); the <literal>x</literal> modifier may only appear after an
<literal>S</literal> or <literal>+</literal> modifier. For example,
<command>\d+x</command> is equivalent to <command>\dtvmsE+x</command>
and will show a list of all relations in expanded mode.
</para>
</note> </note>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-da-lc"> <varlistentry id="app-psql-meta-command-da-lc">
<term><literal>\da[S] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\da[Sx] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
@ -1337,19 +1356,23 @@ SELECT $1 \parse stmt1
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system pattern or the <literal>S</literal> modifier to include system
objects. objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-da-uc"> <varlistentry id="app-psql-meta-command-da-uc">
<term><literal>\dA[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dA[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists access methods. If <replaceable Lists access methods. If <replaceable
class="parameter">pattern</replaceable> is specified, only access class="parameter">pattern</replaceable> is specified, only access
methods whose names match the pattern are shown. If methods whose names match the pattern are shown.
<literal>+</literal> is appended to the command name, each access If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each access
method is listed with its associated handler function and description. method is listed with its associated handler function and description.
</para> </para>
</listitem> </listitem>
@ -1357,7 +1380,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dac"> <varlistentry id="app-psql-meta-command-dac">
<term> <term>
<literal>\dAc[+] <literal>\dAc[x+]
[<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link> [<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link>
[<link linkend="app-psql-patterns"><replaceable class="parameter">input-type-pattern</replaceable></link>]] [<link linkend="app-psql-patterns"><replaceable class="parameter">input-type-pattern</replaceable></link>]]
</literal> </literal>
@ -1372,6 +1395,8 @@ SELECT $1 \parse stmt1
If <replaceable class="parameter">input-type-pattern</replaceable> If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only operator classes associated with input types whose is specified, only operator classes associated with input types whose
names match that pattern are listed. names match that pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each operator If <literal>+</literal> is appended to the command name, each operator
class is listed with its associated operator family and owner. class is listed with its associated operator family and owner.
</para> </para>
@ -1380,7 +1405,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-daf"> <varlistentry id="app-psql-meta-command-daf">
<term> <term>
<literal>\dAf[+] <literal>\dAf[x+]
[<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link> [<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link>
[<link linkend="app-psql-patterns"><replaceable class="parameter">input-type-pattern</replaceable></link>]] [<link linkend="app-psql-patterns"><replaceable class="parameter">input-type-pattern</replaceable></link>]]
</literal> </literal>
@ -1395,6 +1420,8 @@ SELECT $1 \parse stmt1
If <replaceable class="parameter">input-type-pattern</replaceable> If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only operator families associated with input types whose is specified, only operator families associated with input types whose
names match that pattern are listed. names match that pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each operator If <literal>+</literal> is appended to the command name, each operator
family is listed with its owner. family is listed with its owner.
</para> </para>
@ -1403,7 +1430,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dao"> <varlistentry id="app-psql-meta-command-dao">
<term> <term>
<literal>\dAo[+] <literal>\dAo[x+]
[<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link> [<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link>
[<link linkend="app-psql-patterns"><replaceable class="parameter">operator-family-pattern</replaceable></link>]] [<link linkend="app-psql-patterns"><replaceable class="parameter">operator-family-pattern</replaceable></link>]]
</literal> </literal>
@ -1419,6 +1446,8 @@ SELECT $1 \parse stmt1
If <replaceable class="parameter">operator-family-pattern</replaceable> If <replaceable class="parameter">operator-family-pattern</replaceable>
is specified, only members of operator families whose names match that is specified, only members of operator families whose names match that
pattern are listed. pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each operator If <literal>+</literal> is appended to the command name, each operator
is listed with its sort operator family (if it is an ordering operator), is listed with its sort operator family (if it is an ordering operator),
and whether its underlying function is leakproof. and whether its underlying function is leakproof.
@ -1428,7 +1457,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dap"> <varlistentry id="app-psql-meta-command-dap">
<term> <term>
<literal>\dAp[+] <literal>\dAp[x+]
[<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link> [<link linkend="app-psql-patterns"><replaceable class="parameter">access-method-pattern</replaceable></link>
[<link linkend="app-psql-patterns"><replaceable class="parameter">operator-family-pattern</replaceable></link>]] [<link linkend="app-psql-patterns"><replaceable class="parameter">operator-family-pattern</replaceable></link>]]
</literal> </literal>
@ -1443,6 +1472,8 @@ SELECT $1 \parse stmt1
If <replaceable class="parameter">operator-family-pattern</replaceable> If <replaceable class="parameter">operator-family-pattern</replaceable>
is specified, only functions of operator families whose names match is specified, only functions of operator families whose names match
that pattern are listed. that pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, functions are If <literal>+</literal> is appended to the command name, functions are
displayed verbosely, with their actual parameter lists. displayed verbosely, with their actual parameter lists.
</para> </para>
@ -1450,13 +1481,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-db"> <varlistentry id="app-psql-meta-command-db">
<term><literal>\db[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\db[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists tablespaces. If <replaceable Lists tablespaces. If <replaceable
class="parameter">pattern</replaceable> class="parameter">pattern</replaceable>
is specified, only tablespaces whose names match the pattern are shown. is specified, only tablespaces whose names match the pattern are shown.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each tablespace If <literal>+</literal> is appended to the command name, each tablespace
is listed with its associated options, on-disk size, permissions and is listed with its associated options, on-disk size, permissions and
description. description.
@ -1466,7 +1499,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dc-lc"> <varlistentry id="app-psql-meta-command-dc-lc">
<term><literal>\dc[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dc[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists conversions between character-set encodings. Lists conversions between character-set encodings.
@ -1476,6 +1509,8 @@ SELECT $1 \parse stmt1
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system pattern or the <literal>S</literal> modifier to include system
objects. objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each object If <literal>+</literal> is appended to the command name, each object
is listed with its associated description. is listed with its associated description.
</para> </para>
@ -1484,7 +1519,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dconfig"> <varlistentry id="app-psql-meta-command-dconfig">
<term><literal>\dconfig[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dconfig[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists server configuration parameters and their values. Lists server configuration parameters and their values.
@ -1493,6 +1528,8 @@ SELECT $1 \parse stmt1
a <replaceable class="parameter">pattern</replaceable>, only a <replaceable class="parameter">pattern</replaceable>, only
parameters that are set to non-default values are listed. parameters that are set to non-default values are listed.
(Use <literal>\dconfig *</literal> to see all parameters.) (Use <literal>\dconfig *</literal> to see all parameters.)
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each If <literal>+</literal> is appended to the command name, each
parameter is listed with its data type, context in which the parameter is listed with its data type, context in which the
parameter can be set, and access privileges (if non-default access parameter can be set, and access privileges (if non-default access
@ -1503,13 +1540,15 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dc-uc"> <varlistentry id="app-psql-meta-command-dc-uc">
<term><literal>\dC[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dC[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists type casts. Lists type casts.
If <replaceable class="parameter">pattern</replaceable> If <replaceable class="parameter">pattern</replaceable>
is specified, only casts whose source or target types match the is specified, only casts whose source or target types match the
pattern are listed. pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional If <literal>+</literal> is appended to the command name, additional
information about each cast is shown, including whether its underlying information about each cast is shown, including whether its underlying
function is leakproof, and the cast's description. function is leakproof, and the cast's description.
@ -1519,7 +1558,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dd-lc"> <varlistentry id="app-psql-meta-command-dd-lc">
<term><literal>\dd[S] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dd[Sx] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Shows the descriptions of objects of type <literal>constraint</literal>, Shows the descriptions of objects of type <literal>constraint</literal>,
@ -1536,6 +1575,8 @@ SELECT $1 \parse stmt1
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system pattern or the <literal>S</literal> modifier to include system
objects. objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -1548,7 +1589,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dd-uc"> <varlistentry id="app-psql-meta-command-dd-uc">
<term><literal>\dD[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dD[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists domains. If <replaceable Lists domains. If <replaceable
@ -1557,6 +1598,8 @@ SELECT $1 \parse stmt1
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system pattern or the <literal>S</literal> modifier to include system
objects. objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each object If <literal>+</literal> is appended to the command name, each object
is listed with its associated permissions and description. is listed with its associated permissions and description.
</para> </para>
@ -1565,7 +1608,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-ddp"> <varlistentry id="app-psql-meta-command-ddp">
<term><literal>\ddp [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\ddp[x] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists default access privilege settings. An entry is shown for Lists default access privilege settings. An entry is shown for
@ -1574,6 +1617,8 @@ SELECT $1 \parse stmt1
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only entries whose role name or schema name matches specified, only entries whose role name or schema name matches
the pattern are listed. the pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -1587,12 +1632,12 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-de"> <varlistentry id="app-psql-meta-command-de">
<term><literal>\dE[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dE[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<term><literal>\di[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\di[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<term><literal>\dm[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dm[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<term><literal>\ds[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\ds[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<term><literal>\dt[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dt[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<term><literal>\dv[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dv[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
@ -1605,7 +1650,10 @@ SELECT $1 \parse stmt1
You can specify any or all of You can specify any or all of
these letters, in any order, to obtain a listing of objects these letters, in any order, to obtain a listing of objects
of these types. For example, <literal>\dti</literal> lists of these types. For example, <literal>\dti</literal> lists
tables and indexes. If <literal>+</literal> is tables and indexes.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is
appended to the command name, each object is listed with its appended to the command name, each object is listed with its
persistence status (permanent, temporary, or unlogged), persistence status (permanent, temporary, or unlogged),
physical size on disk, and associated description if any. physical size on disk, and associated description if any.
@ -1620,14 +1668,17 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-des"> <varlistentry id="app-psql-meta-command-des">
<term><literal>\des[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\des[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists foreign servers (mnemonic: <quote>external Lists foreign servers (mnemonic: <quote>external
servers</quote>). servers</quote>).
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only those servers whose name matches the pattern specified, only those servers whose name matches the pattern
are listed. If the form <literal>\des+</literal> is used, a are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, a
full description of each server is shown, including the full description of each server is shown, including the
server's access privileges, type, version, options, and description. server's access privileges, type, version, options, and description.
</para> </para>
@ -1636,14 +1687,17 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-det"> <varlistentry id="app-psql-meta-command-det">
<term><literal>\det[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\det[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists foreign tables (mnemonic: <quote>external tables</quote>). Lists foreign tables (mnemonic: <quote>external tables</quote>).
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only entries whose table name or schema name matches specified, only entries whose table name or schema name matches
the pattern are listed. If the form <literal>\det+</literal> the pattern are listed.
is used, generic options and the foreign table description If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name,
generic options and the foreign table description
are also displayed. are also displayed.
</para> </para>
</listitem> </listitem>
@ -1651,15 +1705,18 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-deu"> <varlistentry id="app-psql-meta-command-deu">
<term><literal>\deu[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\deu[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists user mappings (mnemonic: <quote>external Lists user mappings (mnemonic: <quote>external
users</quote>). users</quote>).
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only those mappings whose user names match the specified, only those mappings whose user names match the
pattern are listed. If the form <literal>\deu+</literal> is pattern are listed.
used, additional information about each mapping is shown. If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name,
additional information about each mapping is shown.
</para> </para>
<caution> <caution>
@ -1674,15 +1731,18 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dew"> <varlistentry id="app-psql-meta-command-dew">
<term><literal>\dew[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dew[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists foreign-data wrappers (mnemonic: <quote>external Lists foreign-data wrappers (mnemonic: <quote>external
wrappers</quote>). wrappers</quote>).
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only those foreign-data wrappers whose name matches specified, only those foreign-data wrappers whose name matches
the pattern are listed. If the form <literal>\dew+</literal> the pattern are listed.
is used, the access privileges, options, and description of the If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name,
the access privileges, options, and description of the
foreign-data wrapper are also shown. foreign-data wrapper are also shown.
</para> </para>
</listitem> </listitem>
@ -1690,7 +1750,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-df-lc"> <varlistentry id="app-psql-meta-command-df-lc">
<term><literal>\df[anptwS+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> [ <replaceable class="parameter">arg_pattern</replaceable> ... ] ]</literal></term> <term><literal>\df[anptwSx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> [ <replaceable class="parameter">arg_pattern</replaceable> ... ] ]</literal></term>
<listitem> <listitem>
<para> <para>
@ -1711,7 +1771,9 @@ SELECT $1 \parse stmt1
By default, only user-created By default, only user-created
objects are shown; supply a pattern or the <literal>S</literal> objects are shown; supply a pattern or the <literal>S</literal>
modifier to include system objects. modifier to include system objects.
If the form <literal>\df+</literal> is used, additional information If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional information
about each function is shown, including volatility, about each function is shown, including volatility,
parallel safety, owner, security classification, whether it is parallel safety, owner, security classification, whether it is
leakproof, access privileges, language, internal name (for C and leakproof, access privileges, language, internal name (for C and
@ -1724,13 +1786,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-df-uc"> <varlistentry id="app-psql-meta-command-df-uc">
<term><literal>\dF[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dF[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists text search configurations. Lists text search configurations.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only configurations whose names match the pattern are shown. only configurations whose names match the pattern are shown.
If the form <literal>\dF+</literal> is used, a full description of If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, a full description of
each configuration is shown, including the underlying text search each configuration is shown, including the underlying text search
parser and the dictionary list for each parser token type. parser and the dictionary list for each parser token type.
</para> </para>
@ -1738,13 +1802,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dfd"> <varlistentry id="app-psql-meta-command-dfd">
<term><literal>\dFd[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dFd[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists text search dictionaries. Lists text search dictionaries.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only dictionaries whose names match the pattern are shown. only dictionaries whose names match the pattern are shown.
If the form <literal>\dFd+</literal> is used, additional information If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional information
is shown about each selected dictionary, including the underlying is shown about each selected dictionary, including the underlying
text search template and the option values. text search template and the option values.
</para> </para>
@ -1752,13 +1818,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dfp"> <varlistentry id="app-psql-meta-command-dfp">
<term><literal>\dFp[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dFp[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists text search parsers. Lists text search parsers.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only parsers whose names match the pattern are shown. only parsers whose names match the pattern are shown.
If the form <literal>\dFp+</literal> is used, a full description of If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, a full description of
each parser is shown, including the underlying functions and the each parser is shown, including the underlying functions and the
list of recognized token types. list of recognized token types.
</para> </para>
@ -1766,13 +1834,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dft"> <varlistentry id="app-psql-meta-command-dft">
<term><literal>\dFt[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dFt[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists text search templates. Lists text search templates.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only templates whose names match the pattern are shown. only templates whose names match the pattern are shown.
If the form <literal>\dFt+</literal> is used, additional information If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional information
is shown about each template, including the underlying function names. is shown about each template, including the underlying function names.
</para> </para>
</listitem> </listitem>
@ -1780,7 +1850,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dg"> <varlistentry id="app-psql-meta-command-dg">
<term><literal>\dg[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dg[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists database roles. Lists database roles.
@ -1791,7 +1861,9 @@ SELECT $1 \parse stmt1
<literal>S</literal> modifier to include system roles. <literal>S</literal> modifier to include system roles.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only those roles whose names match the pattern are listed. only those roles whose names match the pattern are listed.
If the form <literal>\dg+</literal> is used, additional information If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional information
is shown about each role; currently this adds the comment for each is shown about each role; currently this adds the comment for each
role. role.
</para> </para>
@ -1800,11 +1872,13 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dl-lc"> <varlistentry id="app-psql-meta-command-dl-lc">
<term><literal>\dl[+]</literal></term> <term><literal>\dl[x+]</literal></term>
<listitem> <listitem>
<para> <para>
This is an alias for <command>\lo_list</command>, which shows a This is an alias for <command>\lo_list</command>, which shows a
list of large objects. list of large objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, If <literal>+</literal> is appended to the command name,
each large object is listed with its associated permissions, each large object is listed with its associated permissions,
if any. if any.
@ -1813,7 +1887,7 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dl-uc"> <varlistentry id="app-psql-meta-command-dl-uc">
<term><literal>\dL[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dL[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists procedural languages. If <replaceable Lists procedural languages. If <replaceable
@ -1821,7 +1895,10 @@ SELECT $1 \parse stmt1
is specified, only languages whose names match the pattern are listed. is specified, only languages whose names match the pattern are listed.
By default, only user-created languages By default, only user-created languages
are shown; supply the <literal>S</literal> modifier to include system are shown; supply the <literal>S</literal> modifier to include system
objects. If <literal>+</literal> is appended to the command name, each objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each
language is listed with its call handler, validator, access privileges, language is listed with its call handler, validator, access privileges,
and whether it is a system object. and whether it is a system object.
</para> </para>
@ -1830,7 +1907,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dn"> <varlistentry id="app-psql-meta-command-dn">
<term><literal>\dn[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dn[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
@ -1839,6 +1916,8 @@ SELECT $1 \parse stmt1
is specified, only schemas whose names match the pattern are listed. is specified, only schemas whose names match the pattern are listed.
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system objects. pattern or the <literal>S</literal> modifier to include system objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each object If <literal>+</literal> is appended to the command name, each object
is listed with its associated permissions and description, if any. is listed with its associated permissions and description, if any.
</para> </para>
@ -1847,7 +1926,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-do-lc"> <varlistentry id="app-psql-meta-command-do-lc">
<term><literal>\do[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> [ <replaceable class="parameter">arg_pattern</replaceable> [ <replaceable class="parameter">arg_pattern</replaceable> ] ] ]</literal></term> <term><literal>\do[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> [ <replaceable class="parameter">arg_pattern</replaceable> [ <replaceable class="parameter">arg_pattern</replaceable> ] ] ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists operators with their operand and result types. Lists operators with their operand and result types.
@ -1863,6 +1942,8 @@ SELECT $1 \parse stmt1
By default, only user-created objects are shown; supply a By default, only user-created objects are shown; supply a
pattern or the <literal>S</literal> modifier to include system pattern or the <literal>S</literal> modifier to include system
objects. objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, If <literal>+</literal> is appended to the command name,
additional information about each operator is shown, including additional information about each operator is shown, including
the name of the underlying function, and whether it is leakproof. the name of the underlying function, and whether it is leakproof.
@ -1872,7 +1953,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-do-uc"> <varlistentry id="app-psql-meta-command-do-uc">
<term><literal>\dO[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dO[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists collations. Lists collations.
@ -1880,7 +1961,10 @@ SELECT $1 \parse stmt1
specified, only collations whose names match the pattern are specified, only collations whose names match the pattern are
listed. By default, only user-created objects are shown; listed. By default, only user-created objects are shown;
supply a pattern or the <literal>S</literal> modifier to supply a pattern or the <literal>S</literal> modifier to
include system objects. If <literal>+</literal> is appended include system objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended
to the command name, each collation is listed with its associated to the command name, each collation is listed with its associated
description, if any. description, if any.
Note that only collations usable with the current database's encoding Note that only collations usable with the current database's encoding
@ -1892,7 +1976,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dp-lc"> <varlistentry id="app-psql-meta-command-dp-lc">
<term><literal>\dp[S] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dp[Sx] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists tables, views and sequences with their Lists tables, views and sequences with their
@ -1902,6 +1986,8 @@ SELECT $1 \parse stmt1
pattern are listed. By default only user-created objects are shown; pattern are listed. By default only user-created objects are shown;
supply a pattern or the <literal>S</literal> modifier to include supply a pattern or the <literal>S</literal> modifier to include
system objects. system objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -1916,7 +2002,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-dp-uc"> <varlistentry id="app-psql-meta-command-dp-uc">
<term><literal>\dP[itn+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dP[itnx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists partitioned relations. Lists partitioned relations.
@ -1936,6 +2022,8 @@ SELECT $1 \parse stmt1
</para> </para>
<para> <para>
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, the sum of the If <literal>+</literal> is appended to the command name, the sum of the
sizes of each relation's partitions is also displayed, along with the sizes of each relation's partitions is also displayed, along with the
relation's description. relation's description.
@ -1949,7 +2037,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-drds"> <varlistentry id="app-psql-meta-command-drds">
<term><literal>\drds [ <link linkend="app-psql-patterns"><replaceable class="parameter">role-pattern</replaceable></link> [ <link linkend="app-psql-patterns"><replaceable class="parameter">database-pattern</replaceable></link> ] ]</literal></term> <term><literal>\drds[x] [ <link linkend="app-psql-patterns"><replaceable class="parameter">role-pattern</replaceable></link> [ <link linkend="app-psql-patterns"><replaceable class="parameter">database-pattern</replaceable></link> ] ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists defined configuration settings. These settings can be Lists defined configuration settings. These settings can be
@ -1959,6 +2047,8 @@ SELECT $1 \parse stmt1
specific roles and databases to list, respectively. If omitted, or if specific roles and databases to list, respectively. If omitted, or if
<literal>*</literal> is specified, all settings are listed, including those <literal>*</literal> is specified, all settings are listed, including those
not role-specific or database-specific, respectively. not role-specific or database-specific, respectively.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -1972,7 +2062,7 @@ SELECT $1 \parse stmt1
<varlistentry id="app-psql-meta-command-drg"> <varlistentry id="app-psql-meta-command-drg">
<term><literal>\drg[S] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\drg[Sx] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists information about each granted role membership, including Lists information about each granted role membership, including
@ -1986,19 +2076,23 @@ SELECT $1 \parse stmt1
<literal>S</literal> modifier to include system roles. <literal>S</literal> modifier to include system roles.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only grants to those roles whose names match the pattern are listed. only grants to those roles whose names match the pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-drp"> <varlistentry id="app-psql-meta-command-drp">
<term><literal>\dRp[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dRp[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists replication publications. Lists replication publications.
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only those publications whose names match the pattern are specified, only those publications whose names match the pattern are
listed. listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, the tables and If <literal>+</literal> is appended to the command name, the tables and
schemas associated with each publication are shown as well. schemas associated with each publication are shown as well.
</para> </para>
@ -2006,13 +2100,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-drs"> <varlistentry id="app-psql-meta-command-drs">
<term><literal>\dRs[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dRs[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists replication subscriptions. Lists replication subscriptions.
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only those subscriptions whose names match the pattern are specified, only those subscriptions whose names match the pattern are
listed. listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional If <literal>+</literal> is appended to the command name, additional
properties of the subscriptions are shown. properties of the subscriptions are shown.
</para> </para>
@ -2020,12 +2116,14 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dt"> <varlistentry id="app-psql-meta-command-dt">
<term><literal>\dT[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dT[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists data types. Lists data types.
If <replaceable class="parameter">pattern</replaceable> is If <replaceable class="parameter">pattern</replaceable> is
specified, only types whose names match the pattern are listed. specified, only types whose names match the pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each type is If <literal>+</literal> is appended to the command name, each type is
listed with its internal name and size, its allowed values listed with its internal name and size, its allowed values
if it is an <type>enum</type> type, and its associated permissions. if it is an <type>enum</type> type, and its associated permissions.
@ -2037,7 +2135,7 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-du"> <varlistentry id="app-psql-meta-command-du">
<term><literal>\du[S+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\du[Sx+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists database roles. Lists database roles.
@ -2048,7 +2146,9 @@ SELECT $1 \parse stmt1
<literal>S</literal> modifier to include system roles. <literal>S</literal> modifier to include system roles.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only those roles whose names match the pattern are listed. only those roles whose names match the pattern are listed.
If the form <literal>\du+</literal> is used, additional information If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, additional information
is shown about each role; currently this adds the comment for each is shown about each role; currently this adds the comment for each
role. role.
</para> </para>
@ -2056,27 +2156,31 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dx-lc"> <varlistentry id="app-psql-meta-command-dx-lc">
<term><literal>\dx[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dx[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists installed extensions. Lists installed extensions.
If <replaceable class="parameter">pattern</replaceable> If <replaceable class="parameter">pattern</replaceable>
is specified, only those extensions whose names match the pattern is specified, only those extensions whose names match the pattern
are listed. are listed.
If the form <literal>\dx+</literal> is used, all the objects belonging If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, all the objects belonging
to each matching extension are listed. to each matching extension are listed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dx-uc"> <varlistentry id="app-psql-meta-command-dx-uc">
<term><literal>\dX [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dX[x] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists extended statistics. Lists extended statistics.
If <replaceable class="parameter">pattern</replaceable> If <replaceable class="parameter">pattern</replaceable>
is specified, only those extended statistics whose names match the is specified, only those extended statistics whose names match the
pattern are listed. pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -2092,13 +2196,15 @@ SELECT $1 \parse stmt1
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-dy"> <varlistentry id="app-psql-meta-command-dy">
<term><literal>\dy[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\dy[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists event triggers. Lists event triggers.
If <replaceable class="parameter">pattern</replaceable> If <replaceable class="parameter">pattern</replaceable>
is specified, only those event triggers whose names match the pattern is specified, only those event triggers whose names match the pattern
are listed. are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, each object If <literal>+</literal> is appended to the command name, each object
is listed with its associated description. is listed with its associated description.
</para> </para>
@ -2686,13 +2792,15 @@ SELECT
<varlistentry id="app-psql-meta-command-list"> <varlistentry id="app-psql-meta-command-list">
<term><literal>\l[+]</literal> or <literal>\list[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\l[x+]</literal> or <literal>\list[x+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
List the databases in the server and show their names, owners, List the databases in the server and show their names, owners,
character set encodings, and access privileges. character set encodings, and access privileges.
If <replaceable class="parameter">pattern</replaceable> is specified, If <replaceable class="parameter">pattern</replaceable> is specified,
only databases whose names match the pattern are listed. only databases whose names match the pattern are listed.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, database If <literal>+</literal> is appended to the command name, database
sizes, default tablespaces, and descriptions are also displayed. sizes, default tablespaces, and descriptions are also displayed.
(Size information is only available for databases that the current (Size information is only available for databases that the current
@ -2756,12 +2864,14 @@ lo_import 152801
</varlistentry> </varlistentry>
<varlistentry id="app-psql-meta-command-lo-list"> <varlistentry id="app-psql-meta-command-lo-list">
<term><literal>\lo_list[+]</literal></term> <term><literal>\lo_list[x+]</literal></term>
<listitem> <listitem>
<para> <para>
Shows a list of all <productname>PostgreSQL</productname> Shows a list of all <productname>PostgreSQL</productname>
large objects currently stored in the database, large objects currently stored in the database,
along with any comments provided for them. along with any comments provided for them.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
If <literal>+</literal> is appended to the command name, If <literal>+</literal> is appended to the command name,
each large object is listed with its associated permissions, each large object is listed with its associated permissions,
if any. if any.
@ -3695,7 +3805,7 @@ testdb=&gt; <userinput>\setenv LESS -imx4F</userinput>
<varlistentry id="app-psql-meta-command-z"> <varlistentry id="app-psql-meta-command-z">
<term><literal>\z[S] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term> <term><literal>\z[Sx] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>
<listitem> <listitem>
<para> <para>
Lists tables, views and sequences with their Lists tables, views and sequences with their
@ -3705,6 +3815,8 @@ testdb=&gt; <userinput>\setenv LESS -imx4F</userinput>
pattern are listed. By default only user-created objects are shown; pattern are listed. By default only user-created objects are shown;
supply a pattern or the <literal>S</literal> modifier to include supply a pattern or the <literal>S</literal> modifier to include
system objects. system objects.
If <literal>x</literal> is appended to the command name, the results
are displayed in expanded mode.
</para> </para>
<para> <para>
@ -5388,6 +5500,31 @@ testdb=&gt; <userinput>\df int*pl * bigint</userinput>
</programlisting> </programlisting>
</para> </para>
<para>
Here, the <literal>+</literal> option is used to display additional
information about one of these functions, and <literal>x</literal> is used
to display the results in expanded mode:
<programlisting>
testdb=&gt; <userinput>\df+x int*pl integer bigint</userinput>
List of functions
-[ RECORD 1 ]-------+-----------------------------
Schema | pg_catalog
Name | int48pl
Result data type | bigint
Argument data types | integer, bigint
Type | func
Volatility | immutable
Parallel | safe
Owner | postgres
Security | invoker
Leakproof? | no
Access privileges |
Language | internal
Internal name | int48pl
Description | implementation of + operator
</programlisting>
</para>
<para> <para>
When suitable, query results can be shown in a crosstab representation When suitable, query results can be shown in a crosstab representation
with the <command>\crosstabview</command> command: with the <command>\crosstabview</command> command:

View File

@ -377,7 +377,10 @@ exec_command(const char *cmd,
else if (strcmp(cmd, "if") == 0) else if (strcmp(cmd, "if") == 0)
status = exec_command_if(scan_state, cstack, query_buf); status = exec_command_if(scan_state, cstack, query_buf);
else if (strcmp(cmd, "l") == 0 || strcmp(cmd, "list") == 0 || else if (strcmp(cmd, "l") == 0 || strcmp(cmd, "list") == 0 ||
strcmp(cmd, "l+") == 0 || strcmp(cmd, "list+") == 0) strcmp(cmd, "lx") == 0 || strcmp(cmd, "listx") == 0 ||
strcmp(cmd, "l+") == 0 || strcmp(cmd, "list+") == 0 ||
strcmp(cmd, "lx+") == 0 || strcmp(cmd, "listx+") == 0 ||
strcmp(cmd, "l+x") == 0 || strcmp(cmd, "list+x") == 0)
status = exec_command_list(scan_state, active_branch, cmd); status = exec_command_list(scan_state, active_branch, cmd);
else if (strncmp(cmd, "lo_", 3) == 0) else if (strncmp(cmd, "lo_", 3) == 0)
status = exec_command_lo(scan_state, active_branch, cmd); status = exec_command_lo(scan_state, active_branch, cmd);
@ -424,7 +427,9 @@ exec_command(const char *cmd,
query_buf, previous_buf); query_buf, previous_buf);
else if (strcmp(cmd, "x") == 0) else if (strcmp(cmd, "x") == 0)
status = exec_command_x(scan_state, active_branch); status = exec_command_x(scan_state, active_branch);
else if (strcmp(cmd, "z") == 0 || strcmp(cmd, "zS") == 0) else if (strcmp(cmd, "z") == 0 ||
strcmp(cmd, "zS") == 0 || strcmp(cmd, "zx") == 0 ||
strcmp(cmd, "zSx") == 0 || strcmp(cmd, "zxS") == 0)
status = exec_command_z(scan_state, active_branch, cmd); status = exec_command_z(scan_state, active_branch, cmd);
else if (strcmp(cmd, "!") == 0) else if (strcmp(cmd, "!") == 0)
status = exec_command_shell_escape(scan_state, active_branch); status = exec_command_shell_escape(scan_state, active_branch);
@ -850,6 +855,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
char *pattern; char *pattern;
bool show_verbose, bool show_verbose,
show_system; show_system;
unsigned short int save_expanded;
/* We don't do SQLID reduction on the pattern yet */ /* We don't do SQLID reduction on the pattern yet */
pattern = psql_scan_slash_option(scan_state, pattern = psql_scan_slash_option(scan_state,
@ -858,6 +864,16 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
show_verbose = strchr(cmd, '+') ? true : false; show_verbose = strchr(cmd, '+') ? true : false;
show_system = strchr(cmd, 'S') ? true : false; show_system = strchr(cmd, 'S') ? true : false;
/*
* The 'x' option turns expanded mode on for this command only. This
* is allowed in all \d* commands, except \d by itself, since \dx is a
* separate command. So the 'x' option cannot appear immediately after
* \d, but it can appear after \d followed by other options.
*/
save_expanded = pset.popt.topt.expanded;
if (cmd[1] != '\0' && strchr(&cmd[2], 'x'))
pset.popt.topt.expanded = 1;
switch (cmd[1]) switch (cmd[1])
{ {
case '\0': case '\0':
@ -873,13 +889,14 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
{ {
char *pattern2 = NULL; char *pattern2 = NULL;
if (pattern && cmd[2] != '\0' && cmd[2] != '+') if (pattern && cmd[2] != '\0' && cmd[2] != '+' && cmd[2] != 'x')
pattern2 = psql_scan_slash_option(scan_state, OT_NORMAL, NULL, true); pattern2 = psql_scan_slash_option(scan_state, OT_NORMAL, NULL, true);
switch (cmd[2]) switch (cmd[2])
{ {
case '\0': case '\0':
case '+': case '+':
case 'x':
success = describeAccessMethods(pattern, show_verbose); success = describeAccessMethods(pattern, show_verbose);
break; break;
case 'c': case 'c':
@ -941,6 +958,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
case 'p': case 'p':
case 't': case 't':
case 'w': case 'w':
case 'x':
success = exec_command_dfo(scan_state, cmd, pattern, success = exec_command_dfo(scan_state, cmd, pattern,
show_verbose, show_system); show_verbose, show_system);
break; break;
@ -981,6 +999,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
case 't': case 't':
case 'i': case 'i':
case 'n': case 'n':
case 'x':
success = listPartitionedTables(&cmd[2], pattern, show_verbose); success = listPartitionedTables(&cmd[2], pattern, show_verbose);
break; break;
default: default:
@ -1041,6 +1060,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
{ {
case '\0': case '\0':
case '+': case '+':
case 'x':
success = listTSConfigs(pattern, show_verbose); success = listTSConfigs(pattern, show_verbose);
break; break;
case 'p': case 'p':
@ -1093,6 +1113,9 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
status = PSQL_CMD_UNKNOWN; status = PSQL_CMD_UNKNOWN;
} }
/* Restore original expanded mode */
pset.popt.topt.expanded = save_expanded;
free(pattern); free(pattern);
} }
else else
@ -2044,14 +2067,23 @@ exec_command_list(PsqlScanState scan_state, bool active_branch, const char *cmd)
{ {
char *pattern; char *pattern;
bool show_verbose; bool show_verbose;
unsigned short int save_expanded;
pattern = psql_scan_slash_option(scan_state, pattern = psql_scan_slash_option(scan_state,
OT_NORMAL, NULL, true); OT_NORMAL, NULL, true);
show_verbose = strchr(cmd, '+') ? true : false; show_verbose = strchr(cmd, '+') ? true : false;
/* if 'x' option specified, force expanded mode */
save_expanded = pset.popt.topt.expanded;
if (strchr(cmd, 'x'))
pset.popt.topt.expanded = 1;
success = listAllDbs(pattern, show_verbose); success = listAllDbs(pattern, show_verbose);
/* restore original expanded mode */
pset.popt.topt.expanded = save_expanded;
free(pattern); free(pattern);
} }
else else
@ -2107,10 +2139,23 @@ exec_command_lo(PsqlScanState scan_state, bool active_branch, const char *cmd)
} }
} }
else if (strcmp(cmd + 3, "list") == 0) else if (strncmp(cmd + 3, "list", 4) == 0)
success = listLargeObjects(false); {
else if (strcmp(cmd + 3, "list+") == 0) bool show_verbose;
success = listLargeObjects(true); unsigned short int save_expanded;
show_verbose = strchr(cmd, '+') ? true : false;
/* if 'x' option specified, force expanded mode */
save_expanded = pset.popt.topt.expanded;
if (strchr(cmd, 'x'))
pset.popt.topt.expanded = 1;
success = listLargeObjects(show_verbose);
/* restore original expanded mode */
pset.popt.topt.expanded = save_expanded;
}
else if (strcmp(cmd + 3, "unlink") == 0) else if (strcmp(cmd + 3, "unlink") == 0)
{ {
@ -3061,14 +3106,23 @@ exec_command_z(PsqlScanState scan_state, bool active_branch, const char *cmd)
{ {
char *pattern; char *pattern;
bool show_system; bool show_system;
unsigned short int save_expanded;
pattern = psql_scan_slash_option(scan_state, pattern = psql_scan_slash_option(scan_state,
OT_NORMAL, NULL, true); OT_NORMAL, NULL, true);
show_system = strchr(cmd, 'S') ? true : false; show_system = strchr(cmd, 'S') ? true : false;
/* if 'x' option specified, force expanded mode */
save_expanded = pset.popt.topt.expanded;
if (strchr(cmd, 'x'))
pset.popt.topt.expanded = 1;
success = permissionsList(pattern, show_system); success = permissionsList(pattern, show_system);
/* restore original expanded mode */
pset.popt.topt.expanded = save_expanded;
free(pattern); free(pattern);
} }
else else

View File

@ -309,9 +309,9 @@ describeFunctions(const char *functypes, const char *func_pattern,
/* No "Parallel" column before 9.6 */ /* No "Parallel" column before 9.6 */
static const bool translate_columns_pre_96[] = {false, false, false, false, true, true, false, true, true, false, false, false, false}; static const bool translate_columns_pre_96[] = {false, false, false, false, true, true, false, true, true, false, false, false, false};
if (strlen(functypes) != strspn(functypes, "anptwS+")) if (strlen(functypes) != strspn(functypes, "anptwSx+"))
{ {
pg_log_error("\\df only takes [anptwS+] as options"); pg_log_error("\\df only takes [anptwSx+] as options");
return true; return true;
} }

View File

@ -219,67 +219,67 @@ slashUsage(unsigned short int pager)
HELP0("\n"); HELP0("\n");
HELP0("Informational\n"); HELP0("Informational\n");
HELP0(" (options: S = show system objects, + = additional detail)\n"); HELP0(" (options: S = show system objects, x = expanded mode, + = additional detail)\n");
HELP0(" \\d[S+] list tables, views, and sequences\n"); HELP0(" \\d[Sx+] list tables, views, and sequences\n");
HELP0(" \\d[S+] NAME describe table, view, sequence, or index\n"); HELP0(" \\d[S+] NAME describe table, view, sequence, or index\n");
HELP0(" \\da[S] [PATTERN] list aggregates\n"); HELP0(" \\da[Sx] [PATTERN] list aggregates\n");
HELP0(" \\dA[+] [PATTERN] list access methods\n"); HELP0(" \\dA[x+] [PATTERN] list access methods\n");
HELP0(" \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n"); HELP0(" \\dAc[x+] [AMPTRN [TYPEPTRN]] list operator classes\n");
HELP0(" \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n"); HELP0(" \\dAf[x+] [AMPTRN [TYPEPTRN]] list operator families\n");
HELP0(" \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n"); HELP0(" \\dAo[x+] [AMPTRN [OPFPTRN]] list operators of operator families\n");
HELP0(" \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n"); HELP0(" \\dAp[x+] [AMPTRN [OPFPTRN]] list support functions of operator families\n");
HELP0(" \\db[+] [PATTERN] list tablespaces\n"); HELP0(" \\db[x+] [PATTERN] list tablespaces\n");
HELP0(" \\dc[S+] [PATTERN] list conversions\n"); HELP0(" \\dc[Sx+] [PATTERN] list conversions\n");
HELP0(" \\dconfig[+] [PATTERN] list configuration parameters\n"); HELP0(" \\dconfig[x+] [PATTERN] list configuration parameters\n");
HELP0(" \\dC[+] [PATTERN] list casts\n"); HELP0(" \\dC[x+] [PATTERN] list casts\n");
HELP0(" \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n"); HELP0(" \\dd[Sx] [PATTERN] show object descriptions not displayed elsewhere\n");
HELP0(" \\dD[S+] [PATTERN] list domains\n"); HELP0(" \\dD[Sx+] [PATTERN] list domains\n");
HELP0(" \\ddp [PATTERN] list default privileges\n"); HELP0(" \\ddp[x] [PATTERN] list default privileges\n");
HELP0(" \\dE[S+] [PATTERN] list foreign tables\n"); HELP0(" \\dE[Sx+] [PATTERN] list foreign tables\n");
HELP0(" \\des[+] [PATTERN] list foreign servers\n"); HELP0(" \\des[x+] [PATTERN] list foreign servers\n");
HELP0(" \\det[+] [PATTERN] list foreign tables\n"); HELP0(" \\det[x+] [PATTERN] list foreign tables\n");
HELP0(" \\deu[+] [PATTERN] list user mappings\n"); HELP0(" \\deu[x+] [PATTERN] list user mappings\n");
HELP0(" \\dew[+] [PATTERN] list foreign-data wrappers\n"); HELP0(" \\dew[x+] [PATTERN] list foreign-data wrappers\n");
HELP0(" \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" HELP0(" \\df[anptw][Sx+] [FUNCPTRN [TYPEPTRN ...]]\n"
" list [only agg/normal/procedure/trigger/window] functions\n"); " list [only agg/normal/procedure/trigger/window] functions\n");
HELP0(" \\dF[+] [PATTERN] list text search configurations\n"); HELP0(" \\dF[x+] [PATTERN] list text search configurations\n");
HELP0(" \\dFd[+] [PATTERN] list text search dictionaries\n"); HELP0(" \\dFd[x+] [PATTERN] list text search dictionaries\n");
HELP0(" \\dFp[+] [PATTERN] list text search parsers\n"); HELP0(" \\dFp[x+] [PATTERN] list text search parsers\n");
HELP0(" \\dFt[+] [PATTERN] list text search templates\n"); HELP0(" \\dFt[x+] [PATTERN] list text search templates\n");
HELP0(" \\dg[S+] [PATTERN] list roles\n"); HELP0(" \\dg[Sx+] [PATTERN] list roles\n");
HELP0(" \\di[S+] [PATTERN] list indexes\n"); HELP0(" \\di[Sx+] [PATTERN] list indexes\n");
HELP0(" \\dl[+] list large objects, same as \\lo_list\n"); HELP0(" \\dl[x+] list large objects, same as \\lo_list\n");
HELP0(" \\dL[S+] [PATTERN] list procedural languages\n"); HELP0(" \\dL[Sx+] [PATTERN] list procedural languages\n");
HELP0(" \\dm[S+] [PATTERN] list materialized views\n"); HELP0(" \\dm[Sx+] [PATTERN] list materialized views\n");
HELP0(" \\dn[S+] [PATTERN] list schemas\n"); HELP0(" \\dn[Sx+] [PATTERN] list schemas\n");
HELP0(" \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" HELP0(" \\do[Sx+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n"
" list operators\n"); " list operators\n");
HELP0(" \\dO[S+] [PATTERN] list collations\n"); HELP0(" \\dO[Sx+] [PATTERN] list collations\n");
HELP0(" \\dp[S] [PATTERN] list table, view, and sequence access privileges\n"); HELP0(" \\dp[Sx] [PATTERN] list table, view, and sequence access privileges\n");
HELP0(" \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n"); HELP0(" \\dP[itnx+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n");
HELP0(" \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n"); HELP0(" \\drds[x] [ROLEPTRN [DBPTRN]] list per-database role settings\n");
HELP0(" \\drg[S] [PATTERN] list role grants\n"); HELP0(" \\drg[Sx] [PATTERN] list role grants\n");
HELP0(" \\dRp[+] [PATTERN] list replication publications\n"); HELP0(" \\dRp[x+] [PATTERN] list replication publications\n");
HELP0(" \\dRs[+] [PATTERN] list replication subscriptions\n"); HELP0(" \\dRs[x+] [PATTERN] list replication subscriptions\n");
HELP0(" \\ds[S+] [PATTERN] list sequences\n"); HELP0(" \\ds[Sx+] [PATTERN] list sequences\n");
HELP0(" \\dt[S+] [PATTERN] list tables\n"); HELP0(" \\dt[Sx+] [PATTERN] list tables\n");
HELP0(" \\dT[S+] [PATTERN] list data types\n"); HELP0(" \\dT[Sx+] [PATTERN] list data types\n");
HELP0(" \\du[S+] [PATTERN] list roles\n"); HELP0(" \\du[Sx+] [PATTERN] list roles\n");
HELP0(" \\dv[S+] [PATTERN] list views\n"); HELP0(" \\dv[Sx+] [PATTERN] list views\n");
HELP0(" \\dx[+] [PATTERN] list extensions\n"); HELP0(" \\dx[x+] [PATTERN] list extensions\n");
HELP0(" \\dX [PATTERN] list extended statistics\n"); HELP0(" \\dX[x] [PATTERN] list extended statistics\n");
HELP0(" \\dy[+] [PATTERN] list event triggers\n"); HELP0(" \\dy[x+] [PATTERN] list event triggers\n");
HELP0(" \\l[+] [PATTERN] list databases\n"); HELP0(" \\l[x+] [PATTERN] list databases\n");
HELP0(" \\sf[+] FUNCNAME show a function's definition\n"); HELP0(" \\sf[+] FUNCNAME show a function's definition\n");
HELP0(" \\sv[+] VIEWNAME show a view's definition\n"); HELP0(" \\sv[+] VIEWNAME show a view's definition\n");
HELP0(" \\z[S] [PATTERN] same as \\dp\n"); HELP0(" \\z[Sx] [PATTERN] same as \\dp\n");
HELP0("\n"); HELP0("\n");
HELP0("Large Objects\n"); HELP0("Large Objects\n");
HELP0(" \\lo_export LOBOID FILE write large object to file\n"); HELP0(" \\lo_export LOBOID FILE write large object to file\n");
HELP0(" \\lo_import FILE [COMMENT]\n" HELP0(" \\lo_import FILE [COMMENT]\n"
" read large object from file\n"); " read large object from file\n");
HELP0(" \\lo_list[+] list large objects\n"); HELP0(" \\lo_list[x+] list large objects\n");
HELP0(" \\lo_unlink LOBOID delete a large object\n"); HELP0(" \\lo_unlink LOBOID delete a large object\n");
HELP0("\n"); HELP0("\n");

View File

@ -2841,6 +2841,19 @@ Owned by: public.psql_serial_tab.id
pg_catalog | exp | double precision | double precision | func pg_catalog | exp | double precision | double precision | func
pg_catalog | exp | numeric | numeric | func pg_catalog | exp | numeric | numeric | func
\dfx exp
Schema | pg_catalog
Name | exp
Result data type | double precision
Argument data types | double precision
Type | func
--------------------+-----------------
Schema | pg_catalog
Name | exp
Result data type | numeric
Argument data types | numeric
Type | func
\pset tuples_only false \pset tuples_only false
\pset expanded on \pset expanded on
\d psql_serial_tab_id_seq \d psql_serial_tab_id_seq
@ -3047,6 +3060,49 @@ Access method: heap
tableam_display | view_heap_psql | view | regress_display_role | permanent | 0 bytes | tableam_display | view_heap_psql | view | regress_display_role | permanent | 0 bytes |
(4 rows) (4 rows)
-- \d with 'x' enables expanded mode, but only without a pattern
\d+x tbl_heap
Table "tableam_display.tbl_heap"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
--------+----------------+-----------+----------+---------+----------+--------------+-------------
f1 | integer | | | | plain | |
f2 | character(100) | | | | extended | |
\d+x
List of relations
-[ RECORD 1 ]---------------------
Schema | tableam_display
Name | mat_view_heap_psql
Type | materialized view
Owner | regress_display_role
Persistence | permanent
Size | 0 bytes
Description |
-[ RECORD 2 ]---------------------
Schema | tableam_display
Name | tbl_heap
Type | table
Owner | regress_display_role
Persistence | permanent
Size | 0 bytes
Description |
-[ RECORD 3 ]---------------------
Schema | tableam_display
Name | tbl_heap_psql
Type | table
Owner | regress_display_role
Persistence | permanent
Size | 0 bytes
Description |
-[ RECORD 4 ]---------------------
Schema | tableam_display
Name | view_heap_psql
Type | view
Owner | regress_display_role
Persistence | permanent
Size | 0 bytes
Description |
RESET ROLE; RESET ROLE;
RESET search_path; RESET search_path;
DROP SCHEMA tableam_display CASCADE; DROP SCHEMA tableam_display CASCADE;
@ -5238,6 +5294,30 @@ List of access methods
btree | float_ops | real | double precision | 3 | in_range(real,real,double precision,boolean,boolean) btree | float_ops | real | double precision | 3 | in_range(real,real,double precision,boolean,boolean)
(8 rows) (8 rows)
\dApx+ btree time_ops
List of support functions of operator families
-[ RECORD 1 ]---------+---------------------------------------------------------------------------------
AM | btree
Operator family | time_ops
Registered left type | time without time zone
Registered right type | time without time zone
Number | 1
Function | time_cmp(time without time zone,time without time zone)
-[ RECORD 2 ]---------+---------------------------------------------------------------------------------
AM | btree
Operator family | time_ops
Registered left type | time without time zone
Registered right type | time without time zone
Number | 4
Function | btequalimage(oid)
-[ RECORD 3 ]---------+---------------------------------------------------------------------------------
AM | btree
Operator family | time_ops
Registered left type | time without time zone
Registered right type | interval
Number | 3
Function | in_range(time without time zone,time without time zone,interval,boolean,boolean)
\dAp * pg_catalog.uuid_ops \dAp * pg_catalog.uuid_ops
List of support functions of operator families List of support functions of operator families
AM | Operator family | Registered left type | Registered right type | Number | Function AM | Operator family | Registered left type | Registered right type | Number | Function
@ -6831,5 +6911,15 @@ CREATE TABLE defprivs (a int);
public | defprivs | table | (default) | | public | defprivs | table | (default) | |
(1 row) (1 row)
\zx defprivs
Access privileges
-[ RECORD 1 ]-----+----------
Schema | public
Name | defprivs
Type | table
Access privileges | (default)
Column privileges |
Policies |
\pset null '' \pset null ''
DROP TABLE defprivs; DROP TABLE defprivs;

View File

@ -498,6 +498,7 @@ create table psql_serial_tab (id serial);
\d psql_serial_tab_id_seq \d psql_serial_tab_id_seq
\pset tuples_only true \pset tuples_only true
\df exp \df exp
\dfx exp
\pset tuples_only false \pset tuples_only false
\pset expanded on \pset expanded on
\d psql_serial_tab_id_seq \d psql_serial_tab_id_seq
@ -560,6 +561,9 @@ CREATE MATERIALIZED VIEW mat_view_heap_psql USING heap_psql AS SELECT f1 from tb
\dv+ \dv+
\set HIDE_TABLEAM on \set HIDE_TABLEAM on
\d+ \d+
-- \d with 'x' enables expanded mode, but only without a pattern
\d+x tbl_heap
\d+x
RESET ROLE; RESET ROLE;
RESET search_path; RESET search_path;
DROP SCHEMA tableam_display CASCADE; DROP SCHEMA tableam_display CASCADE;
@ -1309,6 +1313,7 @@ drop role regress_partitioning_role;
\dAo+ btree array_ops|float_ops \dAo+ btree array_ops|float_ops
\dAo * pg_catalog.jsonb_path_ops \dAo * pg_catalog.jsonb_path_ops
\dAp+ btree float_ops \dAp+ btree float_ops
\dApx+ btree time_ops
\dAp * pg_catalog.uuid_ops \dAp * pg_catalog.uuid_ops
-- check \dconfig -- check \dconfig
@ -1927,5 +1932,6 @@ ROLLBACK;
CREATE TABLE defprivs (a int); CREATE TABLE defprivs (a int);
\pset null '(default)' \pset null '(default)'
\z defprivs \z defprivs
\zx defprivs
\pset null '' \pset null ''
DROP TABLE defprivs; DROP TABLE defprivs;