Uhh, my bad, really stupid bug. Many thanks. ------ With best regards, Alexander Korotkov.
On Wed, Aug 3, 2011 at 8:31 PM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote: > On 03.08.2011 11:18, Alexander Korotkov wrote: > >> I found that in previous version of patch I missed PageSetLSN >> and PageSetTLI, but huge amount of WAL is still here. Also I found that >> huge >> amount of WAL appears only with -O2. With -O0 amount of WAL is ok, but >> messages "FATAL: xlog flush request BFF11148/809A600 is not satisfied --- >> flushed only to 44/9C518750" appears. Seems that there is some totally >> wrong >> use of WAL if even optimization level does matter... >> > > Try this: > > diff --git a/src/backend/access/gist/**gistbuild.c > b/src/backend/access/gist/**gistbuild.c > index 5099330..5a441e0 100644 > --- a/src/backend/access/gist/**gistbuild.c > +++ b/src/backend/access/gist/**gistbuild.c > @@ -478,7 +478,7 @@ bufferingbuildinsert(**GISTInsertState *state, > /* Write the WAL record */ > if (RelationNeedsWAL(state->r)) > { > - gistXLogUpdate(state->r->rd_**node, buffer, > oldoffnum, noldoffnum, > + recptr = gistXLogUpdate(state->r->rd_**node, > buffer, oldoffnum, noldoffnum, > > itup, ntup, InvalidBuffer); > PageSetLSN(page, recptr); > PageSetTLI(page, ThisTimeLineID); > > > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com >