On Thu, 2009-06-25 at 12:55 +0000, Fujii Masao wrote:
> The restartpoint by bgwriter in recovery mode caused the following error.
>
> ERROR: could not fsync segment 0 of relation base/11564/16422_fsm: No
> such file or directory
I think I see a related bug also.
register_dirty_segment() run by Startup process doesn't differentiate
correctly whether the bgwriter is active. md.c line 1194. So it will
continue to register fsync requests into its own private pendingOpsTable
when it should be forwarding them to bgwriter. When bgwriter runs
mdsync() the contents of startup's pendingOpsTable will be ignored.
That looks to me to be a serious bug.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support