postgres.git / summary / log / commit / refs
commit 3d4b143dc7fd9d060e9f11ac6c17620f58cfc33d
Author: Michael Paquier <michael@paquier.xyz>
Date: Fri Sep 21 06:09:40 2018 +0000
First released in: 12.0, 11.0
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 ec6b4c33113..f13a6cd944d 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 a89a7e00ed6..86b758ff8eb 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -934,7 +934,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: 84f14fb78852]