Re: Shared row locking

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Shared row locking
Дата
Msg-id 13755.1103252338@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Shared row locking  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Shared row locking
Список pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> You mean all empty/zero rows can be removed?  Can we guarantee that on
> commit we can clean up the bitmap?  If not the idea doesn't work.

For whatever data structure we use, we may reset the structure to empty
during backend-crash recovery.  So your objection boils down to "what if
a backend exits normally but forgets to clean up its locks?"  Assuming
that doesn't happen isn't any worse than assuming a backend will clean
up its shared memory state on non-crash exit, so I don't think it's a
serious concern.

That brings another thought: really what this is all about is working
around the fact that the standard lock manager can only cope with a
finite number of coexisting locks, because it's working in a fixed-size
shared memory arena.  Maybe we should instead think about ways to allow
the existing lock table to spill to disk when it gets too big.  That
would eliminate max_locks_per_transaction as a source of hard failures,
which would be a nice benefit.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Shared row locking
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Shared row locking