> I believe the correct fix for this problem is for bufmgr.c to grab
> a read lock (BUFFER_LOCK_SHARED) on any page that it is writing out.
> A read lock is sufficient since there's no need to prevent other
> backends from reading the page, we just need to prevent them from
> changing it during th
Hiroshi Inoue <[EMAIL PROTECTED]> writes:
> This seems to be almost same as I posted 4 months ago(smgrwrite()
> without LockBuffer(was RE: ...).
You are right, this was already a known issue (and I had it buried in
my to-do list, in fact). I rediscovered it while puzzling over some
of the corrup
Tom Lane wrote:
[snip]
>
> The window of vulnerability is considerably wider in 7.0 than in prior
> releases, because in prior releases *any* transaction commit will write
> all dirty pages. In 7.0 the dirtied page will not get written out until
> we commit a transaction that modified that par