Thread: table lock and record lock

table lock and record lock

From
"John Liu"
Date:
what's the default lock in pgsql?

if I issued insert(copy)/or update processed
on the same table but on different records
the same time, how those processes will
affect each other? 

thanks.

johnl



Re: table lock and record lock

From
Andrew Sullivan
Date:
On Tue, Oct 01, 2002 at 03:30:38PM -0500, John Liu wrote:
> what's the default lock in pgsql?
> 
> if I issued insert(copy)/or update processed
> on the same table but on different records
> the same time, how those processes will
> affect each other? 

You might want to check out the docs at

<http://developer.postgresql.org/docs/pgsql/src/tools/backend/index.html>

and 

<http://www.ca.postgresql.org/users-lounge/docs/7.2/postgres/mvcc.html>

to learn the answers to these questions.  There's no general answer
to your question, exactly, since you talk about insert, copy, and
update.

A

-- 
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8                                        +1 416 646 3304
x110



Re: table lock and record lock

From
"scott.marlowe"
Date:
On Tue, 1 Oct 2002, John Liu wrote:

> what's the default lock in pgsql?
> 
> if I issued insert(copy)/or update processed
> on the same table but on different records
> the same time, how those processes will
> affect each other? 

postgresql does not do "locking" in the sense of how most database do 
locking. It uses a system called multi-version concurrency control that 
prevents writers from blocking readers and vice versa.  It has advantages 
and disadvantages over the row locking methodology used by most other 
databases, but you can read for yourself by looking in the docs at:

http://www.ca.postgresql.org/users-lounge/docs/7.2/postgres/mvcc.html

Good luck.