postgrespro.git / summary / log / commit / refs

commit    ce9cf8e7e6c436e13a729e2369c2c7ca1eae064d
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Fri Sep 21 06:03:37 2018 +0000

    Document lock taken on referenced table when adding a foreign key
    
    This can happen for CREATE TABLE and ALTER TABLE, so a mention is added
    to both of them in the concerned subsections.
    
    Author: Adrien Nayrat
    Discussion: https://postgr.es/m/c4e8af11-1dfc-766a-c953-76979b9fcdaa@anayrat.info


doc/src/sgml/ref/alter_table.sgml | 5 +++++ doc/src/sgml/ref/create_table.sgml | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index ec6b4c3311..f13a6cd944 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -372,6 +372,11 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM tables may not be declared <literal>NOT VALID</literal> at present. </para> + <para> + The addition of a foreign key constraint requires a + <literal>SHARE ROW EXCLUSIVE</literal> lock on the referenced table. + </para> + <para> Additional restrictions apply when unique or primary key constraints are added to partitioned tables; see <xref linkend="sql-createtable" />. diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index 5a19f94ce9..10428f8ff0 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -992,7 +992,9 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM is used. The referenced columns must be the columns of a non-deferrable unique or primary key constraint in the referenced table. The user must have <literal>REFERENCES</literal> permission on the referenced table - (either the whole table, or the specific referenced columns). + (either the whole table, or the specific referenced columns). The + addition of a foreign key constraint requires a + <literal>SHARE ROW EXCLUSIVE</literal> lock on the referenced table. Note that foreign key constraints cannot be defined between temporary tables and permanent tables. Also note that while it is possible to define a foreign key on a partitioned table, it is not possible to [parent: bd1463e348fc]