On Mon, Aug 3, 2020 at 5:05 AM Ashutosh Sharma <ashu.coe...@gmail.com> wrote: > Could you please explain this point once more in detail? I am not quite able > to understand under what circumstances a buffer would be modified, but won't > be marked as dirty or a WAL won't be written for it.
Whenever this branch is taken: + if (nskippedItems == noffs) + goto skip_wal; At this point you have already modified the page, using ItemIdSetDead, HeapTupleHeaderSet*, and/or directly adjusting htup->infomask. If this branch is taken, then MarkBufferDirty() and log_newpage_buffer() are skipped. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company