Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Aug 5, 2019 at 8:44 PM Bruce Momjian <bruce@momjian.us> wrote:
> > Right. The 8k page LSN changes each time the page is modified, and the
> > is part of the page nonce.
>
> What about hint bit changes?
>
> I think even with wal_log_hints=on, it's not the case that *every*
> change to hint bits results in an LSN change.
Change to hint bits does not result in LSN change in the case I described here
https://www.postgresql.org/message-id/28452.1572443058%40antos
but I consider this a bug (BTW, I discovered this problem when thinking about
the use of LSN as encryption IV). Do you mean any other case? If LSN does not
get changed, then the related full-page image WAL record is not guaranteed to
be on disk during crash recovery. Thus if page checksum is invalid due to
torn-page write, there's now WAL record to fix the page.
--
Antonin Houska
Web: https://www.cybertec-postgresql.com