Re: Full page images in WAL & Cache Invalidation

Поиск
Список
Период
Сортировка
От Florian G. Pflug
Тема Re: Full page images in WAL & Cache Invalidation
Дата
Msg-id 46A4D78F.5080701@phlo.org
обсуждение исходный текст
Ответ на Re: Full page images in WAL & Cache Invalidation  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> "Florian G. Pflug" <fgp@phlo.org> writes:
>> I came up with the following plan for both inval events and locks
>> .) Store two flags in the commit record of a transaction, for
>>     "transaction generated inval events" and "transaction held an
>>     access exlusive lock".
>> .) Upon replay, block until no transactions are running (for
>>     "transaction held an exclusive lock") before replaying the
>>     record, or flush the caches after replaying it (for
>>     "transaction generated inval events").
> 
> This does not work; the lock has to be taken earlier than that.
> (See for instance VACUUM's truncate calls.)  Not to mention that
> you have converted "exclusive lock on one table" to "exclusive lock
> on every table", which is even worse than the idea of converting
> per-table cache flushes to system-wide ones.

I'll check what VACUUM is doing.. I primarily had CLUSTER and TRUNCATE
in mind.

That "exclusive lock on one table becomes exclusive lock on all tables"
issue can (as I wrote in the part of my mail that you sniped) be
solved I think by storing a list of OIDs instead of a flag for the
locks and inval events.

greetings, Florian Pflug


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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: 8.2 is 30% better in pgbench than 8.3
Следующее
От: "Pavan Deolasee"
Дата:
Сообщение: Re: 8.2 is 30% better in pgbench than 8.3