From: Robert Haas <robertmhaas@gmail.com>
> Were the issues that I mentioned regarding GIST (and maybe other AMs)
> in the last paragraph of
> http://postgr.es/m/CA+TgmoZEZ5RONS49C7mEpjhjndqMQtVrz_LCQUkpRW
> dmRevDnQ@mail.gmail.com
> addressed in some way? That seems like a pretty hard engineering
> problem to me, and I don't see that there's been any discussion of it.
> Those are correctness concerns separate from any wal_level tracking we
> might want to do to avoid accidental mistakes.
Thank you very much for reminding me of this. I forgot I replied as follows:
--------------------------------------------------
Unlogged GiST indexes use fake LSNs that are instance-wide. Unlogged temporary GiST indexes use backend-local sequence
values. Other unlogged and temporary relations don't set LSNs on pages. So, I think it's enough to call
GetFakeLSNForUnloggedRel()when wal_level = none as well.
--------------------------------------------------
But this is not correct. We have to allow (RM_GIST_ID, XLOG_GIST_ASSIGN_LSN) WAL records to be emitted (by tweaking
thefilter in XLogInsert()), just like those WAL records are emitted when wal_level = minimal and and other WAL records
arenot emitted.
Regards
Takayuki Tsunakawa