Re: lock problem when dont commit

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: lock problem when dont commit
Дата
Msg-id 15716.1109813069@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: lock problem when dont commit  (Dave Cramer <pg@fastcrypt.com>)
Ответы Re: lock problem when dont commit  (Mican Bican <mican58@gmail.com>)
Список pgsql-jdbc
Dave Cramer <pg@fastcrypt.com> writes:
> Tom Lane wrote:
>> Maybe a conflict on referenced foreign-key rows?

> can you explain how that happens?

When you insert or update a row in a table that has an FK reference,
it takes out a row-level lock on the referenced row in the master table.
This is needed to prevent someone else from deleting the master row
before commit.  (Since the someone else can't see your uncommitted row,
nothing but a lock could stop them from thinking it's OK to remove the
master row.)

So if two sessions are trying to insert rows that reference the same
master row, they conflict --- because the only type of row-level lock
we have at the moment is exclusive.  I believe Alvaro is looking into
supporting shared row-level locks for 8.1, which'd make this problem
go away.

            regards, tom lane

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

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: lock problem when dont commit
Следующее
От: Mican Bican
Дата:
Сообщение: Re: lock problem when dont commit