1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>DROP INDEX</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="sql-dropgroup.html" title="DROP GROUP" /><link rel="next" href="sql-droplanguage.html" title="DROP LANGUAGE" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">DROP INDEX</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="sql-dropgroup.html" title="DROP GROUP">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="sql-commands.html" title="SQL Commands">Up</a></td><th width="60%" align="center">SQL Commands</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="sql-droplanguage.html" title="DROP LANGUAGE">Next</a></td></tr></table><hr /></div><div class="refentry" id="SQL-DROPINDEX"><div class="titlepage"></div><a id="id-1.9.3.116.1" class="indexterm"></a><div class="refnamediv"><h2><span class="refentrytitle">DROP INDEX</span></h2><p>DROP INDEX — remove an index</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
3 DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] <em class="replaceable"><code>name</code></em> [, ...] [ CASCADE | RESTRICT ]
4 </pre></div><div class="refsect1" id="id-1.9.3.116.5"><h2>Description</h2><p>
5 <code class="command">DROP INDEX</code> drops an existing index from the database
6 system. To execute this command you must be the owner of
8 </p></div><div class="refsect1" id="id-1.9.3.116.6"><h2>Parameters</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">CONCURRENTLY</code></span></dt><dd><p>
9 Drop the index without locking out concurrent selects, inserts, updates,
10 and deletes on the index's table. A normal <code class="command">DROP INDEX</code>
11 acquires an <code class="literal">ACCESS EXCLUSIVE</code> lock on the table,
12 blocking other accesses until the index drop can be completed. With
13 this option, the command instead waits until conflicting transactions
16 There are several caveats to be aware of when using this option.
17 Only one index name can be specified, and the <code class="literal">CASCADE</code> option
18 is not supported. (Thus, an index that supports a <code class="literal">UNIQUE</code> or
19 <code class="literal">PRIMARY KEY</code> constraint cannot be dropped this way.)
20 Also, regular <code class="command">DROP INDEX</code> commands can be
21 performed within a transaction block, but
22 <code class="command">DROP INDEX CONCURRENTLY</code> cannot.
23 Lastly, indexes on partitioned tables cannot be dropped using this
26 For temporary tables, <code class="command">DROP INDEX</code> is always
27 non-concurrent, as no other session can access them, and
28 non-concurrent index drop is cheaper.
29 </p></dd><dt><span class="term"><code class="literal">IF EXISTS</code></span></dt><dd><p>
30 Do not throw an error if the index does not exist. A notice is issued
32 </p></dd><dt><span class="term"><em class="replaceable"><code>name</code></em></span></dt><dd><p>
33 The name (optionally schema-qualified) of an index to remove.
34 </p></dd><dt><span class="term"><code class="literal">CASCADE</code></span></dt><dd><p>
35 Automatically drop objects that depend on the index,
36 and in turn all objects that depend on those objects
37 (see <a class="xref" href="ddl-depend.html" title="5.15. Dependency Tracking">Section 5.15</a>).
38 </p></dd><dt><span class="term"><code class="literal">RESTRICT</code></span></dt><dd><p>
39 Refuse to drop the index if any objects depend on it. This is
41 </p></dd></dl></div></div><div class="refsect1" id="id-1.9.3.116.7"><h2>Examples</h2><p>
42 This command will remove the index <code class="literal">title_idx</code>:
44 </p><pre class="programlisting">
46 </pre></div><div class="refsect1" id="id-1.9.3.116.8"><h2>Compatibility</h2><p>
47 <code class="command">DROP INDEX</code> is a
48 <span class="productname">PostgreSQL</span> language extension. There
49 are no provisions for indexes in the SQL standard.
50 </p></div><div class="refsect1" id="id-1.9.3.116.9"><h2>See Also</h2><span class="simplelist"><a class="xref" href="sql-createindex.html" title="CREATE INDEX"><span class="refentrytitle">CREATE INDEX</span></a></span></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sql-dropgroup.html" title="DROP GROUP">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="sql-commands.html" title="SQL Commands">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sql-droplanguage.html" title="DROP LANGUAGE">Next</a></td></tr><tr><td width="40%" align="left" valign="top">DROP GROUP </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> DROP LANGUAGE</td></tr></table></div></body></html>