diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 448cd50365a..606e0be8a90 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -141,9 +141,9 @@ WITH ( MODULUS numeric_literal, REM
ALTER TABLE changes the definition of an existing table.
There are several subforms described below. Note that the lock level required
- may differ for each subform. An ACCESS EXCLUSIVE lock is held
- unless explicitly noted. When multiple subcommands are listed, the lock
- held will be the strictest one required from any subcommand.
+ may differ for each subform. An ACCESS EXCLUSIVE lock is
+ acquired unless explicitly noted. When multiple subcommands are given, the
+ lock acquired will be the strictest one required by any subcommand.
@@ -364,8 +364,8 @@ WITH ( MODULUS numeric_literal, REM
ADD table_constraint [ NOT VALID ]
- This form adds a new constraint to a table using the same syntax as
- , plus the option NOT
+ This form adds a new constraint to a table using the same constraint
+ syntax as , plus the option NOT
VALID, which is currently only allowed for foreign key
and CHECK constraints.
@@ -388,9 +388,14 @@ WITH ( MODULUS numeric_literal, REM
- Addition of a foreign key constraint requires a
- SHARE ROW EXCLUSIVE lock on the referenced table,
- in addition to the lock on the table receiving the constraint.
+ Although most forms of ADD
+ table_constraint
+ require an ACCESS EXCLUSIVE lock, ADD
+ FOREIGN KEY requires only a SHARE ROW
+ EXCLUSIVE lock. Note that ADD FOREIGN KEY
+ also acquires a SHARE ROW EXCLUSIVE lock on the
+ referenced table, in addition to the lock on the table on which the
+ constraint is declared.