On Mon, Jun 5, 2017 at 9:37 AM, Dylan Luong <Dylan.Luong@xxxxxxxxxxxx> 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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general