|
1 | 1 | <!--
|
2 |
| -$Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.19 2000/03/24 03:57:06 momjian Exp $ |
| 2 | +$Header: /cvsroot/pgsql/doc/src/sgml/ref/lock.sgml,v 1.20 2000/03/28 14:35:27 thomas Exp $ |
3 | 3 | Postgres documentation
|
4 | 4 | -->
|
5 | 5 |
|
@@ -224,74 +224,64 @@ ERROR <replaceable class="PARAMETER">name</replaceable>: Table does not exist.
|
224 | 224 | <title>
|
225 | 225 | Description
|
226 | 226 | </title>
|
227 |
| - <title> |
228 |
| - Terms |
229 |
| - </title> |
230 |
| - <para> |
231 |
| - <variablelist> |
232 |
| - <varlistentry> |
233 |
| - <term>EXCLUSIVE</term> |
234 |
| - <listitem> |
235 |
| - <para> |
236 |
| -Exclusive lock that prevents other locks from being granted. |
237 |
| - </para> |
238 |
| - </listitem> |
239 |
| - </varlistentry> |
240 |
| - </variablelist> |
241 |
| - |
242 |
| - <variablelist> |
243 |
| - <varlistentry> |
244 |
| - <term>SHARE</term> |
245 |
| - <listitem> |
246 |
| - <para> |
247 |
| -Allows others to share lock. Prevents EXCLUSIVE locks. |
248 |
| - </para> |
249 |
| - </listitem> |
250 |
| - </varlistentry> |
251 |
| - </variablelist> |
252 |
| - |
253 |
| - <variablelist> |
254 |
| - <varlistentry> |
255 |
| - <term>ACCESS</term> |
256 |
| - <listitem> |
257 |
| - <para> |
258 |
| -Locks table schema. |
259 |
| - </para> |
260 |
| - </listitem> |
261 |
| - </varlistentry> |
262 |
| - </variablelist> |
263 |
| - |
264 |
| - <variablelist> |
265 |
| - <varlistentry> |
266 |
| - <term>ROW</term> |
267 |
| - <listitem> |
268 |
| - <para> |
269 |
| -Locks individual rows. |
270 |
| - </para> |
271 |
| - </listitem> |
272 |
| - </varlistentry> |
273 |
| - </variablelist> |
274 |
| - |
275 |
| - <variablelist> |
276 |
| - <varlistentry> |
277 |
| - <term>Notes</term> |
278 |
| - <listitem> |
279 |
| - <para> |
280 |
| -If EXCLUSIVE or SHARE are not specified, EXCLUSIVE is assumed. |
281 |
| -Locks exist for the duration of the transaction. |
282 |
| - </para> |
283 |
| - </listitem> |
284 |
| - </varlistentry> |
285 |
| - </variablelist> |
286 |
| - |
287 |
| - </para> |
288 | 227 |
|
289 | 228 | <para>
|
| 229 | + <command>LOCK TABLE</command> controls concurrent access to a table |
| 230 | + for the duration of a transaction. |
290 | 231 | <productname>Postgres</productname> always uses the least restrictive
|
291 | 232 | lock mode whenever possible. <command>LOCK TABLE</command>
|
292 | 233 | provided for cases when you might need more restrictive locking.
|
293 | 234 | </para>
|
294 | 235 |
|
| 236 | + <para> |
| 237 | + <acronym>RDBMS</acronym> locking uses the following terminology: |
| 238 | + |
| 239 | + <variablelist> |
| 240 | + <varlistentry> |
| 241 | + <term>EXCLUSIVE</term> |
| 242 | + <listitem> |
| 243 | + <para> |
| 244 | + Exclusive lock that prevents other locks from being granted. |
| 245 | + </para> |
| 246 | + </listitem> |
| 247 | + </varlistentry> |
| 248 | + |
| 249 | + <varlistentry> |
| 250 | + <term>SHARE</term> |
| 251 | + <listitem> |
| 252 | + <para> |
| 253 | + Allows others to share lock. Prevents EXCLUSIVE locks. |
| 254 | + </para> |
| 255 | + </listitem> |
| 256 | + </varlistentry> |
| 257 | + |
| 258 | + <varlistentry> |
| 259 | + <term>ACCESS</term> |
| 260 | + <listitem> |
| 261 | + <para> |
| 262 | + Locks table schema. |
| 263 | + </para> |
| 264 | + </listitem> |
| 265 | + </varlistentry> |
| 266 | + |
| 267 | + <varlistentry> |
| 268 | + <term>ROW</term> |
| 269 | + <listitem> |
| 270 | + <para> |
| 271 | + Locks individual rows. |
| 272 | + </para> |
| 273 | + </listitem> |
| 274 | + </varlistentry> |
| 275 | + </variablelist> |
| 276 | + |
| 277 | + <note> |
| 278 | + <para> |
| 279 | + If EXCLUSIVE or SHARE are not specified, EXCLUSIVE is assumed. |
| 280 | + Locks exist for the duration of the transaction. |
| 281 | + </para> |
| 282 | + </note> |
| 283 | + </para> |
| 284 | + |
295 | 285 | <para>
|
296 | 286 | For example, an application runs a transaction at READ COMMITTED isolation
|
297 | 287 | level and needs to ensure the existance of data in a table for the
|
|