diff options
Diffstat (limited to 'doc/src/sgml/ref/drop_index.sgml')
-rw-r--r-- | doc/src/sgml/ref/drop_index.sgml | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/drop_index.sgml b/doc/src/sgml/ref/drop_index.sgml new file mode 100644 index 0000000..aabc85e --- /dev/null +++ b/doc/src/sgml/ref/drop_index.sgml @@ -0,0 +1,143 @@ +<!-- +doc/src/sgml/ref/drop_index.sgml +PostgreSQL documentation +--> + +<refentry id="sql-dropindex"> + <indexterm zone="sql-dropindex"> + <primary>DROP INDEX</primary> + </indexterm> + + <refmeta> + <refentrytitle>DROP INDEX</refentrytitle> + <manvolnum>7</manvolnum> + <refmiscinfo>SQL - Language Statements</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>DROP INDEX</refname> + <refpurpose>remove an index</refpurpose> + </refnamediv> + + <refsynopsisdiv> +<synopsis> +DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ...] [ CASCADE | RESTRICT ] +</synopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para> + <command>DROP INDEX</command> drops an existing index from the database + system. To execute this command you must be the owner of + the index. + </para> + </refsect1> + + <refsect1> + <title>Parameters</title> + + <variablelist> + <varlistentry> + <term><literal>CONCURRENTLY</literal></term> + <listitem> + <para> + Drop the index without locking out concurrent selects, inserts, updates, + and deletes on the index's table. A normal <command>DROP INDEX</command> + acquires an <literal>ACCESS EXCLUSIVE</literal> lock on the table, + blocking other accesses until the index drop can be completed. With + this option, the command instead waits until conflicting transactions + have completed. + </para> + <para> + There are several caveats to be aware of when using this option. + Only one index name can be specified, and the <literal>CASCADE</literal> option + is not supported. (Thus, an index that supports a <literal>UNIQUE</literal> or + <literal>PRIMARY KEY</literal> constraint cannot be dropped this way.) + Also, regular <command>DROP INDEX</command> commands can be + performed within a transaction block, but + <command>DROP INDEX CONCURRENTLY</command> cannot. + Lastly, indexes on partitioned tables cannot be dropped using this + option. + </para> + <para> + For temporary tables, <command>DROP INDEX</command> is always + non-concurrent, as no other session can access them, and + non-concurrent index drop is cheaper. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>IF EXISTS</literal></term> + <listitem> + <para> + Do not throw an error if the index does not exist. A notice is issued + in this case. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">name</replaceable></term> + <listitem> + <para> + The name (optionally schema-qualified) of an index to remove. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>CASCADE</literal></term> + <listitem> + <para> + Automatically drop objects that depend on the index, + and in turn all objects that depend on those objects + (see <xref linkend="ddl-depend"/>). + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>RESTRICT</literal></term> + <listitem> + <para> + Refuse to drop the index if any objects depend on it. This is + the default. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Examples</title> + + <para> + This command will remove the index <literal>title_idx</literal>: + +<programlisting> +DROP INDEX title_idx; +</programlisting></para> + </refsect1> + + <refsect1> + <title>Compatibility</title> + + <para> + <command>DROP INDEX</command> is a + <productname>PostgreSQL</productname> language extension. There + are no provisions for indexes in the SQL standard. + </para> + </refsect1> + + <refsect1> + <title>See Also</title> + + <simplelist type="inline"> + <member><xref linkend="sql-createindex"/></member> + </simplelist> + </refsect1> + +</refentry> |