Re: lock problem

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: lock problem
Дата
Msg-id 20041204093004.D37548@megazone.bigpanda.com
обсуждение исходный текст
Ответ на lock problem  (sarlav kumar <sarlavk@yahoo.com>)
Список pgsql-performance
On Sat, 4 Dec 2004, sarlav kumar wrote:

> Thanks for the information on replication tools!!
>  Now, I have a question regarding locking tables and updating tables
> that have a relationship to the locked table.
>
> I opened up two pgsql windows logged in using same userid.
> Let's say I lock a table "customerdata" on one window.
> begin;
> lock table customerdata;
>
> Then in the other window,I want to make an update to table "customer".
> begin;
> update customer set status=0 where id=111;
>
> The relation ship between the two tables is as follows
> customerdata.uid is FK on customer.id. There are no triggers that will
> try to update customerdata table when the above update statement is
> issued.
>
> My problem is the update does not continue unless the lock on
> customerdata is released. Is it because the lock statement does a lock
> on all related tables? Is it possible to lock only the particular table
> we want to lock and not the related tables?

The no action foreign key triggers grab a Row Share on the referencing
table which conflicts with the Exclusive lock that LOCK TABLE takes by
default. Depending on what you're trying to prevent, you may be able to
ask lock table for a lesser lock (see the list and descriptions here:
http://www.postgresql.org/docs/7.4/static/explicit-locking.html#LOCKING-TABLES
).

В списке pgsql-performance по дате отправления:

Предыдущее
От: Cott Lang
Дата:
Сообщение: Re: Alternatives to Dell?
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: Improve BULK insertion