Bruce Momjian <pgman@candle.pha.pa.us> writes: > Tom Lane wrote: >> The ugly part of this is that clearing the bit is not like setting a >> hint bit, ie it's not okay if we lose that change. Therefore, each >> bit-clearing would have to be WAL-logged. This is a big part of my >> concern about the cost.
> Yep, that was my concern too. My feeling is that once you mark the > tuple for expiration (update/delete), you then clear the index bit. > When reading WAL on recovery, you have to clear index bits on rows as > you read expire information from WAL. I don't think it would require > extra WAL information. Wrong. The WAL recovery environment is not capable of executing arbitrary user-defined functions, therefore it cannot compute index entries on its own. The *only* way we can do this is if the WAL record stream tells exactly what to do and which physical tuple to do it to. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html