aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2015-04-05 11:37:08 -0400
committerSimon Riggs <simon@2ndQuadrant.com>2015-04-05 11:37:08 -0400
commit0ef0396ae1687bf738d4703773d55467c36b2bcd (patch)
tree451d674fdb2860511bb3f006bba2176263245c3f /doc/src
parentca6805338fba010cc3f8b842905d7a62e280b7ab (diff)
downloadpostgresql-0ef0396ae1687bf738d4703773d55467c36b2bcd.tar.gz
postgresql-0ef0396ae1687bf738d4703773d55467c36b2bcd.zip
Reduce lock levels of some trigger DDL and add FKs
Reduce lock levels to ShareRowExclusive for the following SQL CREATE TRIGGER (but not DROP or ALTER) ALTER TABLE ENABLE TRIGGER ALTER TABLE DISABLE TRIGGER ALTER TABLE … ADD CONSTRAINT FOREIGN KEY Original work by Simon Riggs, extracted and refreshed by Andreas Karlsson New test cases added by Andreas Karlsson Reviewed by Noah Misch, Andres Freund, Michael Paquier and Simon Riggs
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/mvcc.sgml12
-rw-r--r--doc/src/sgml/ref/alter_table.sgml3
2 files changed, 9 insertions, 6 deletions
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index e43a3be6d4e..958adc32bd3 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -909,9 +909,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
</para>
<para>
- This lock mode is not automatically acquired by any
- <productname>PostgreSQL</productname> command.
- </para>
+ Acquired by <command>CREATE TRIGGER</command> and many forms of
+ <command>ALTER TABLE</command> (see <xref linkend="SQL-ALTERTABLE">).
+ </para>>
</listitem>
</varlistentry>
@@ -958,9 +958,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
<command>TRUNCATE</command>, <command>REINDEX</command>,
<command>CLUSTER</command>, and <command>VACUUM FULL</command>
commands. Many forms of <command>ALTER TABLE</> also acquire
- a lock at this level (see <xref linkend="SQL-ALTERTABLE">).
- This is also the default lock mode for <command>LOCK TABLE</command>
- statements that do not specify a mode explicitly.
+ a lock at this level. This is also the default lock mode for
+ <command>LOCK TABLE</command> statements that do not specify
+ a mode explicitly.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 19baf2961a4..6a82730a4b4 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -406,6 +406,9 @@ ALTER TABLE ALL IN TABLESPACE <replaceable class="PARAMETER">name</replaceable>
mode, and triggers configured as <literal>ENABLE ALWAYS</literal> will
fire regardless of the current replication mode.
</para>
+ <para>
+ This command acquires a <literal>SHARE ROW EXCLUSIVE</literal> lock.
+ </para>
</listitem>
</varlistentry>