Re: [GENERAL] pg_rewind - enable wal_log_hints or data-checksums - Mailing list pgsql-general

From Michael Paquier
Subject Re: [GENERAL] pg_rewind - enable wal_log_hints or data-checksums
Date
Msg-id CAB7nPqSHTf3Hb08+cdnFUprtNNLS0jLvzyivDMiV7+j0a2Lcng@mail.gmail.com
Whole thread Raw
In response to [GENERAL] pg_rewind - enable wal_log_hints or data-checksums  (Dylan Luong <Dylan.Luong@unisa.edu.au>)
List pgsql-general
On Mon, Jun 5, 2017 at 9:37 AM, Dylan Luong <Dylan.Luong@unisa.edu.au> wrote:
> pg_rewind requires that the target server either has the wal_log_hints
> option enabled in postgresql.conf or data checksums enabled when the cluster
> was initialized with initdb.

Yes, this is to make sure that you don't finish with a corrupted
target server if a hint bit is set on a page after a checkpoint. Any
of those options make sure that a full-page write is generated in this
case.

> What is the difference between the two options?

Data checksums calculate 2 bytes of checksum data and write it to each
page that is evicted from shared buffers. Each page read from disk has
its checksum checked. In some workloads, like a heavy read load where
a lot of page evictions happen, this can induce a couple of percents
of performance lost. In my own experience, that's 1~2%.

> What are the advantages and disadvantages between the two?
> Which one is the the preferred option?

If you care more about performance or if you use a file system that
has its own block-level checksum, wal_log_hints would be preferred.
Data checksums offer more guarantees in terms of integrity though when
looking for corrupted data. Things get found more quickly.
--
Michael


pgsql-general by date:

Previous
From: Dylan Luong
Date:
Subject: [GENERAL] pg_rewind - enable wal_log_hints or data-checksums
Next
From: PAWAN SHARMA
Date:
Subject: Re: [GENERAL] Oracle database into PostgreSQL using Ora2PG tool.