1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Show opclass and opfamily related information in psql

This commit provides psql commands for listing operator classes, operator
families and its contents in psql.  New commands will be useful for exploring
capabilities of both builtin opclasses/opfamilies as well as
opclasses/opfamilies defined in extensions.

Discussion: https://postgr.es/m/1529675324.14193.5.camel%40postgrespro.ru
Author: Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov
Reviewed-by: Michael Paquier, Alvaro Herrera, Arthur Zakirov
Reviewed-by: Kyotaro Horiguchi, Andres Freund
This commit is contained in:
Alexander Korotkov
2020-03-08 13:32:25 +03:00
parent 691e8b2e18
commit b0b5e20cd8
8 changed files with 676 additions and 2 deletions

View File

@ -1231,6 +1231,97 @@ testdb=>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>\dAc[+]
[<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>]]
</literal>
</term>
<listitem>
<para>
Lists operator classes
(see <xref linkend="catalog-pg-opclass"/>).
If <replaceable class="parameter">access-method-patttern</replaceable>
is specified, only operator classes associated with access methods whose
names match pattern are listed.
If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only operator classes associated with input types whose
names match the pattern are listed.
If <literal>+</literal> is appended to the command name, each operator
class is listed with its associated operator family and owner.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>\dAf[+]
[<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>]]
</literal>
</term>
<listitem>
<para>
Lists operator families
(see <xref linkend="catalog-pg-opfamily"/>).
If <replaceable class="parameter">access-method-patttern</replaceable>
is specified, only operator families associated with access methods whose
names match pattern are listed.
If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only operator families associated with input types whose
names match the pattern are listed.
If <literal>+</literal> is appended to the command name, each operator
family is listed with its owner.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>\dAo[+]
[<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>]]
</literal>
</term>
<listitem>
<para>
Lists operators associated with operator families
(<xref linkend="catalog-pg-amop"/>).
If <replaceable class="parameter">access-method-patttern</replaceable>
is specified, only members of operator families associated with access
methods whose names match pattern are listed.
If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only memeber of operator families whose names match the
pattern are listed.
If <literal>+</literal> is appended to the command name, each operator
is listed with its strategy number, purpose and sort operator family.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>\dAp[+]
[<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>]]
</literal>
</term>
<listitem>
<para>
Lists procedures associated with operator families
(<xref linkend="catalog-pg-amproc"/>).
If <replaceable class="parameter">access-method-patttern</replaceable>
is specified, only members of operator families associated with access
methods whose names match pattern are listed.
If <replaceable class="parameter">input-type-pattern</replaceable>
is specified, only memeber of operator families whose names match the
pattern are listed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>\db[+] [ <link linkend="app-psql-patterns"><replaceable class="parameter">pattern</replaceable></link> ]</literal></term>