diff options
Diffstat (limited to 'doc/src/sgml/ref/alter_table.sgml')
-rw-r--r-- | doc/src/sgml/ref/alter_table.sgml | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index ba81f060b1c..261d526f0b0 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -141,9 +141,9 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM <para> <command>ALTER TABLE</command> 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 <literal>ACCESS EXCLUSIVE</literal> 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 <literal>ACCESS EXCLUSIVE</literal> lock is + acquired unless explicitly noted. When multiple subcommands are given, the + lock acquired will be the strictest one required by any subcommand. <variablelist> <varlistentry> @@ -355,8 +355,8 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM <term><literal>ADD <replaceable class="parameter">table_constraint</replaceable> [ NOT VALID ]</literal></term> <listitem> <para> - This form adds a new constraint to a table using the same syntax as - <xref linkend="sql-createtable"/>, plus the option <literal>NOT + This form adds a new constraint to a table using the same constraint + syntax as <xref linkend="sql-createtable"/>, plus the option <literal>NOT VALID</literal>, which is currently only allowed for foreign key and CHECK constraints. </para> @@ -379,9 +379,14 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM </para> <para> - Addition of a foreign key constraint requires a - <literal>SHARE ROW EXCLUSIVE</literal> lock on the referenced table, - in addition to the lock on the table receiving the constraint. + Although most forms of <literal>ADD + <replaceable class="parameter">table_constraint</replaceable></literal> + require an <literal>ACCESS EXCLUSIVE</literal> lock, <literal>ADD + FOREIGN KEY</literal> requires only a <literal>SHARE ROW + EXCLUSIVE</literal> lock. Note that <literal>ADD FOREIGN KEY</literal> + also acquires a <literal>SHARE ROW EXCLUSIVE</literal> lock on the + referenced table, in addition to the lock on the table on which the + constraint is declared. </para> <para> |