From 661bb388123420d70a8a78c55cc6fc81705b77c0 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 23 Jan 1998 06:01:36 +0000 Subject: Cleanup deadlock message. --- src/man/lock.l | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/man/lock.l (limited to 'src/man') diff --git a/src/man/lock.l b/src/man/lock.l new file mode 100644 index 00000000000..8882cf15fb7 --- /dev/null +++ b/src/man/lock.l @@ -0,0 +1,33 @@ +.\" This is -*-nroff-*- +.\" XXX standard disclaimer belongs here.... +.\" $Header: /cvsroot/pgsql/src/man/Attic/lock.l,v 1.1 1998/01/23 06:01:36 momjian Exp $ +.TH FETCH SQL 01/23/93 PostgreSQL PostgreSQL +.SH NAME +lock - exclusive lock a table +.SH SYNOPSIS +.nf +\fBlock\fR classname +.fi +.SH DESCRIPTION +.BR lock +exclusive locks a table inside a transaction. The classic use for this +is the case where you want to \fBselect\fP some data, then update it +inside a transaction. If you don't exclusive lock the table before the +\fBselect\fP, some other user may also read the selected data, and try +and do their own \fBupdate\fP, causing a deadlock while you both wait +for the other to release the \fBselect\fP-induced shared lock so you can +get an exclusive lock to do the \fBupdate.\fP +.SH EXAMPLES +.nf +-- +-- Proper locking to prevent deadlock +-- +begin work; +lock mytable; +select * from mytable; +update mytable set (x = 100); +end work; +.SH "SEE ALSO" +begin(l), +end(l), +select(l). -- cgit v1.2.3