diff --git a/src/hnswbuild.c b/src/hnswbuild.c index c2d0c97..cdfb62c 100644 --- a/src/hnswbuild.c +++ b/src/hnswbuild.c @@ -888,7 +888,21 @@ BuildIndex(Relation heap, Relation index, IndexInfo *indexInfo, FlushPages(buildstate); if (RelationNeedsWAL(index)) + { +#if PG_VERSION_NUM >= 110008 log_newpage_range(index, MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index), true); +#else + for (BlockNumber blkno = 0; blkno < RelationGetNumberOfBlocksInFork(index, forkNum); blkno++) + { + Buffer buf = ReadBufferExtended(index, forkNum, blkno, RBM_NORMAL, NULL); + + LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE); + MarkBufferDirty(buf); + log_newpage_buffer(buf, true); + UnlockReleaseBuffer(buf); + } +#endif + } FreeBuildState(buildstate); }