From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Florian G(dot) Pflug" <fgp(at)phlo(dot)org> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Full page images in WAL & Cache Invalidation |
Date: | 2007-07-23 14:40:21 |
Message-ID: | 24598.1185201621@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Florian G. Pflug" <fgp(at)phlo(dot)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.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-07-23 14:45:35 | Re: syslogging oddity |
Previous Message | Magnus Hagander | 2007-07-23 14:36:00 | Re: Oops in fe-auth.c |