mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Revert "Accept relations of any kind in LOCK TABLE".
Revert59ab4ac32
, as well as the followup fix33862cb9c
, in all branches. We need to think a bit harder about what the behavior of LOCK TABLE on views should be, and there's no time for that before next week's releases. We'll take another crack at this later. Discussion: https://postgr.es/m/16703-e348f58aab3cf6cc@postgresql.org
This commit is contained in:
@ -16,7 +16,7 @@ PostgreSQL documentation
|
||||
|
||||
<refnamediv>
|
||||
<refname>LOCK</refname>
|
||||
<refpurpose>lock a named relation (table, etc)</refpurpose>
|
||||
<refpurpose>lock a table</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
@ -34,9 +34,7 @@ LOCK [ TABLE ] [ ONLY ] <replaceable class="PARAMETER">name</replaceable> [ * ]
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
<command>LOCK TABLE</command> obtains a table-level lock on a
|
||||
relation (table, partitioned table, foreign table, view,
|
||||
materialized view, index, composite type, sequence), waiting
|
||||
<command>LOCK TABLE</command> obtains a table-level lock, waiting
|
||||
if necessary for any conflicting locks to be released. If
|
||||
<literal>NOWAIT</literal> is specified, <command>LOCK
|
||||
TABLE</command> does not wait to acquire the desired lock: if it
|
||||
@ -112,23 +110,17 @@ LOCK [ TABLE ] [ ONLY ] <replaceable class="PARAMETER">name</replaceable> [ * ]
|
||||
<term><replaceable class="PARAMETER">name</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name (optionally schema-qualified) of an existing relation to
|
||||
lock. If <literal>ONLY</literal> is specified before a table name, only that
|
||||
table is locked. If <literal>ONLY</literal> is not specified, the table and all
|
||||
its descendant tables (if any) are locked. Optionally, <literal>*</literal>
|
||||
The name (optionally schema-qualified) of an existing table to
|
||||
lock. If <literal>ONLY</> is specified before the table name, only that
|
||||
table is locked. If <literal>ONLY</> is not specified, the table and all
|
||||
its descendant tables (if any) are locked. Optionally, <literal>*</>
|
||||
can be specified after the table name to explicitly indicate that
|
||||
descendant tables are included.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Locking a view locks only the view object itself, not any referenced
|
||||
relations. (Note that this behavior is different
|
||||
in <productname>PostgreSQL</productname> v11 and later.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The command <literal>LOCK TABLE a, b;</literal> is equivalent to
|
||||
<literal>LOCK TABLE a; LOCK TABLE b;</literal>. The relations are locked
|
||||
The command <literal>LOCK TABLE a, b;</> is equivalent to
|
||||
<literal>LOCK TABLE a; LOCK TABLE b;</>. The tables are locked
|
||||
one-by-one in the order specified in the <command>LOCK
|
||||
TABLE</command> command.
|
||||
</para>
|
||||
|
Reference in New Issue
Block a user