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. +