diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/catalogs.sgml | 12 | ||||
-rw-r--r-- | doc/src/sgml/ref/drop_index.sgml | 37 |
2 files changed, 29 insertions, 20 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index f99919093ca..5f270404bf1 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -3480,7 +3480,7 @@ index is possibly incomplete: it must still be modified by <command>INSERT</>/<command>UPDATE</> operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not - true either. + guaranteed true either. </entry> </row> @@ -3508,6 +3508,16 @@ </row> <row> + <entry><structfield>indislive</structfield></entry> + <entry><type>bool</type></entry> + <entry></entry> + <entry> + If false, the index is in process of being dropped, and should be + ignored for all purposes (including HOT-safety decisions) + </entry> + </row> + + <row> <entry><structfield>indkey</structfield></entry> <entry><type>int2vector</type></entry> <entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attnum</literal></entry> diff --git a/doc/src/sgml/ref/drop_index.sgml b/doc/src/sgml/ref/drop_index.sgml index 343f7aca003..98fd9c966c3 100644 --- a/doc/src/sgml/ref/drop_index.sgml +++ b/doc/src/sgml/ref/drop_index.sgml @@ -40,34 +40,33 @@ DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] <replaceable class="PARAMETER">name</r <variablelist> <varlistentry> - <term><literal>IF EXISTS</literal></term> + <term><literal>CONCURRENTLY</literal></term> <listitem> <para> - Do not throw an error if the index does not exist. A notice is issued - in this case. + Drop the index without locking out concurrent selects, inserts, updates, + and deletes on the index's table. A normal <command>DROP INDEX</> + acquires exclusive 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</> option + is not supported. (Thus, an index that supports a <literal>UNIQUE</> or + <literal>PRIMARY KEY</> constraint cannot be dropped this way.) + Also, regular <command>DROP INDEX</> commands can be + performed within a transaction block, but + <command>DROP INDEX CONCURRENTLY</> cannot. </para> </listitem> </varlistentry> <varlistentry> - <term><literal>CONCURRENTLY</literal></term> + <term><literal>IF EXISTS</literal></term> <listitem> <para> - When this option is used, <productname>PostgreSQL</> will drop the - index without taking any locks that prevent concurrent selects, inserts, - updates, or deletes on the table; whereas a standard index drop - waits for a lock that locks out everything on the table until it's done. - Concurrent drop index is a two stage process. First, we mark the index - both invalid and not ready then commit the change. Next we wait until - there are no users locking the table who can see the index. - </para> - <para> - There are several caveats to be aware of when using this option. - Only one index name can be specified if the <literal>CONCURRENTLY</literal> - parameter is specified. Regular <command>DROP INDEX</> command can be - performed within a transaction block, but - <command>DROP INDEX CONCURRENTLY</> cannot. - The CASCADE option is not supported when dropping an index concurrently. + Do not throw an error if the index does not exist. A notice is issued + in this case. </para> </listitem> </varlistentry> |