|
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 |
|