> This freezes the whole system even with autovacuum = off in
> postgresql.conf. As before, the backends wait on a semop() call.
Fixed. There was a deadlock of LockBufferForCleanup and LockBuffer(SHARE).
Redesign that place to downgrade LockBufferForCleanup to LockBuffer(EXCLUSIVE)
with correction of page's locking during scan of pending list.
> I was able to reproduce the recovery failure this way once as well,
> but that part of the problem seems to be much more erratic. Most of
Fixed too. I missed comments on XLogInsert:
* NB: this routine feels free to scribble on the XLogRecData structs,
* though not on the data they reference. This is OK since the XLogRecData
* structs are always just temporaries in the calling code.
and I reused once initialized XLogRecData many times in a loop.
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/