Re: FATAL: lock AccessShareLock on object 0/1260/0 is already held

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: FATAL: lock AccessShareLock on object 0/1260/0 is already held
Дата
Msg-id 5227.1315428924@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: FATAL: lock AccessShareLock on object 0/1260/0 is already held  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: FATAL: lock AccessShareLock on object 0/1260/0 is already held
Re: FATAL: lock AccessShareLock on object 0/1260/0 is already held
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> Tom's right to be skeptical of my theory, because it would require a
> CHECK_FOR_INTERRUPTS() outside of a transaction block in one of the
> pathways that use session-level locks, and I can't find one.

More to the point: session-level locks are released on error.  The only
way to get out of a transaction while still holding one is for the
VACUUM-or-whichever-command code to deliberately commit and exit while
still holding it.  An error exit path would release the lock.

> OTOH, I'm skeptical of the theory that this involves userlocks,
> because this whole thread started because of a complaint about lock
> 0/1260/0 already being held.  That ain't no userlock.

Yeah, and for that matter it seems to let VACUUM off the hook too.
If we assume that the reported object ID is non-corrupt (and if it's
always the same, that seems like the way to bet) then this is a lock
on pg_authid.

Hmmm ... could the pathway involve an error exit from client
authentication?  We're still finding bugs in the 9.0 rewrite of
auth-time database access.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCH] Don't truncate integer part in to_char for 'FM99.'
Следующее
От: Marti Raudsepp
Дата:
Сообщение: Re: [PATCH] Log crashed backend's query (activity string)