diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 68df9745d80..b3ae1455353 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.
@@ -260,8 +260,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.
@@ -282,6 +282,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.
+