diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index b4648321dc..63bc946c3b 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -3915,18 +3915,25 @@ DROP TABLE measurement_y2006m02;
Another option that is often preferable is to remove the partition from
the partitioned table but retain access to it as a table in its own
- right:
+ right. This has two forms:
ALTER TABLE measurement DETACH PARTITION measurement_y2006m02;
+ALTER TABLE measurement DETACH PARTITION measurement_y2006m02 CONCURRENTLY;
- This allows further operations to be performed on the data before
+ These allow further operations to be performed on the data before
it is dropped. For example, this is often a useful time to back up
the data using COPY, pg_dump, or
similar tools. It might also be a useful time to aggregate data
into smaller formats, perform other data manipulations, or run
- reports.
+ reports. The first form of the command requires an
+ ACCESS EXCLUSIVE lock on the parent table.
+ Adding the CONCURRENTLY qualifier as in the second
+ form allows the detach operation to require only
+ SHARE UPDATE EXCLUSIVE lock on the parent table, but see
+ ALTER TABLE ... DETACH PARTITION
+ for details on the restrictions.
@@ -4163,17 +4170,6 @@ ALTER INDEX measurement_city_id_logdate_key
might be poor.)
-
-
-
- Some operations require a stronger lock when using declarative
- partitioning than when using table inheritance. For example,
- removing a partition from a partitioned table requires taking
- an ACCESS EXCLUSIVE lock on the parent table,
- whereas a SHARE UPDATE EXCLUSIVE lock is enough
- in the case of regular inheritance.
-
-
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 9cef1f101e..087f640dc0 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -967,7 +967,7 @@ WITH ( MODULUS numeric_literal, REM
-
+ DETACH PARTITION partition_name [ CONCURRENTLY | FINALIZE ]