diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 1967380039a..bbe0f299b88 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -92,9 +92,9 @@ ALTER TABLE ALL IN TABLESPACE name
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.
@@ -258,8 +258,8 @@ ALTER TABLE ALL IN TABLESPACE name
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.
@@ -280,6 +280,17 @@ ALTER TABLE ALL IN TABLESPACE name
endterm="sql-altertable-notes-title"> below for more information
about using the NOT VALID option.
+
+
+ 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.
+