mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Core support for "extensions", which are packages of SQL objects.
This patch adds the server infrastructure to support extensions. There is still one significant loose end, namely how to make it play nice with pg_upgrade, so I am not yet committing the changes that would make all the contrib modules depend on this feature. In passing, fix a disturbingly large amount of breakage in AlterObjectNamespace() and callers. Dimitri Fontaine, reviewed by Anssi Kääriäinen, Itagaki Takahiro, Tom Lane, and numerous others
This commit is contained in:
121
doc/src/sgml/ref/drop_extension.sgml
Normal file
121
doc/src/sgml/ref/drop_extension.sgml
Normal file
@@ -0,0 +1,121 @@
|
||||
<!--
|
||||
doc/src/sgml/ref/drop_extension.sgml
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
<refentry id="SQL-DROPEXTENSION">
|
||||
<refmeta>
|
||||
<refentrytitle>DROP EXTENSION</refentrytitle>
|
||||
<manvolnum>7</manvolnum>
|
||||
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>DROP EXTENSION</refname>
|
||||
<refpurpose>remove an extension</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<indexterm zone="sql-dropextension">
|
||||
<primary>DROP EXTENSION</primary>
|
||||
</indexterm>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<synopsis>
|
||||
DROP EXTENSION [ IF EXISTS ] <replaceable class="PARAMETER">extension_name</replaceable> [, ...] [ CASCADE | RESTRICT ]
|
||||
</synopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
<command>DROP EXTENSION</command> removes extensions from the database.
|
||||
Dropping an extension causes its component objects to be dropped as well.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
An extension can only be dropped by a superuser.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Parameters</title>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>IF EXISTS</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Do not throw an error if the extension does not exist. A notice is issued
|
||||
in this case.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><replaceable class="PARAMETER">extension_name</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of an installed extension.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>CASCADE</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Automatically drop objects that depend on the extension.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>RESTRICT</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Refuse to drop the extension if any objects depend on it (other than
|
||||
its own member objects and other extensions listed in the same
|
||||
<command>DROP</> command). This is the default.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>
|
||||
To remove the extension <literal>hstore</literal> from the current
|
||||
database:
|
||||
<programlisting>
|
||||
DROP EXTENSION hstore;
|
||||
</programlisting>
|
||||
This command will fail if any of <literal>hstore</literal>'s objects
|
||||
are in use in the database, for example if any tables have columns
|
||||
of the <type>hstore</> type. Add the <literal>CASCADE</> option to
|
||||
forcibly remove those dependent objects as well.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
<command>DROP EXTENSION</command> is a <productname>PostgreSQL</>
|
||||
extension.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
||||
<simplelist type="inline">
|
||||
<member><xref linkend="sql-createextension"></member>
|
||||
<member><xref linkend="sql-alterextension"></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
Reference in New Issue
Block a user