|
|
@ -1,5 +1,5 @@ |
|
|
|
<!-- |
|
|
|
<!-- |
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.15 2000/03/23 21:38:57 momjian Exp $ |
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.16 2000/03/23 22:25:35 momjian Exp $ |
|
|
|
Postgres documentation |
|
|
|
Postgres documentation |
|
|
|
--> |
|
|
|
--> |
|
|
|
|
|
|
|
|
|
|
@ -123,7 +123,7 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
</note> |
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This is the least restrictive lock mode which conflicts only with |
|
|
|
This is the least restrictive lock mode. It conflicts only with |
|
|
|
ACCESS EXCLUSIVE mode. It is intended to protect a table being |
|
|
|
ACCESS EXCLUSIVE mode. It is intended to protect a table being |
|
|
|
modified by concurrent <command>ALTER TABLE</command>, |
|
|
|
modified by concurrent <command>ALTER TABLE</command>, |
|
|
|
<command>DROP TABLE</command> and <command>VACUUM</command> |
|
|
|
<command>DROP TABLE</command> and <command>VACUUM</command> |
|
|
@ -137,8 +137,8 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<note> |
|
|
|
<note> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Automatically acquired by any <command>SELECT FOR UPDATE</command> statement. |
|
|
|
Automatically acquired by <command>SELECT...FOR UPDATE</command>. |
|
|
|
While it is a SHARE lock, there is the intention to later upgrade |
|
|
|
While it is a shared lock, there is the intention to later upgrade |
|
|
|
this to an EXCLUSIVE lock. |
|
|
|
this to an EXCLUSIVE lock. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
</note> |
|
|
@ -154,15 +154,15 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<note> |
|
|
|
<note> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Automatically acquired by any <command>UPDATE</command>, |
|
|
|
Automatically acquired by <command>UPDATE</command>, |
|
|
|
<command>DELETE</command>, <command>INSERT</command> statement. |
|
|
|
<command>DELETE</command>, and <command>INSERT</command> |
|
|
|
|
|
|
|
statements. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Conflicts with SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE and |
|
|
|
Conflicts with SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE and |
|
|
|
ACCESS EXCLUSIVE modes. Generally means that a transaction |
|
|
|
ACCESS EXCLUSIVE modes. |
|
|
|
updated or inserted some tuples in a table. |
|
|
|
|
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</varlistentry> |
|
|
|
</varlistentry> |
|
|
@ -172,8 +172,8 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<note> |
|
|
|
<note> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Automatically acquired by any <command>CREATE INDEX</command> statement. |
|
|
|
Automatically acquired by <command>CREATE INDEX</command>. |
|
|
|
Share-locks entire table. |
|
|
|
Share-locks the entire table. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
@ -188,10 +188,14 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<varlistentry> |
|
|
|
<varlistentry> |
|
|
|
<term>SHARE ROW EXCLUSIVE MODE</term> |
|
|
|
<term>SHARE ROW EXCLUSIVE MODE</term> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
|
|
|
|
<note> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This is like an EXCLUSIVE lock, but allows SHARE ROW locks |
|
|
|
This is like EXCLUSIVE MODE, but allows SHARE ROW locks |
|
|
|
by others. |
|
|
|
by others. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
Conflicts with ROW EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, |
|
|
|
Conflicts with ROW EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, |
|
|
|
EXCLUSIVE and ACCESS EXCLUSIVE modes. |
|
|
|
EXCLUSIVE and ACCESS EXCLUSIVE modes. |
|
|
|
</para> |
|
|
|
</para> |
|
|
@ -202,11 +206,16 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<term>EXCLUSIVE MODE</term> |
|
|
|
<term>EXCLUSIVE MODE</term> |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This mode is yet more restrictive than SHARE ROW EXCLUSIVE. |
|
|
|
|
|
|
|
It blocks all concurrent ROW SHARE/SELECT...FOR UPDATE queries. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Conflicts with ROW SHARE, ROW EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, |
|
|
|
Conflicts with ROW SHARE, ROW EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, |
|
|
|
EXCLUSIVE and ACCESS EXCLUSIVE modes. This mode is yet more |
|
|
|
EXCLUSIVE and ACCESS EXCLUSIVE modes. |
|
|
|
restrictive than that of SHARE ROW EXCLUSIVE; it blocks all concurrent |
|
|
|
|
|
|
|
SHARE ROW/SELECT FOR UPDATE queries. |
|
|
|
|
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</varlistentry> |
|
|
|
</varlistentry> |
|
|
@ -218,14 +227,11 @@ LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> IN SHARE ROW EX |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Automatically acquired by <command>ALTER TABLE</command>, |
|
|
|
Automatically acquired by <command>ALTER TABLE</command>, |
|
|
|
<command>DROP TABLE</command>, <command>VACUUM</command> statements. |
|
|
|
<command>DROP TABLE</command>, <command>VACUUM</command> statements. |
|
|
|
|
|
|
|
This is the most restrictive lock mode which conflicts with all other |
|
|
|
|
|
|
|
lock modes and protects a locked table from any concurrent operations. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This is the most restrictive lock mode which conflicts with all other |
|
|
|
|
|
|
|
lock modes and protects a locked table from any concurrent operations. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<note> |
|
|
|
<note> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This lock mode is also acquired by an unqualified |
|
|
|
This lock mode is also acquired by an unqualified |
|
|
|