Postgresql – How do data checksums interact with streaming replication

checksumpostgresqlpostgresql-9.3replication

Data checksums are a new feature introduced in 9.3, and:

there is a new GUC parameter "ignore_checksum_failure" which will force PostgreSQL to continue processing a transaction even if corruption is detected

In the event of a checksum failure on a replication master, will that corrupt data replicate to slaves or will replication halt. Does it depend on the setting of ignore_checksum_failure?

This README has some useful related information but doesn't directly answer the question.

Best Answer

If the data was corrupted while on disk, the corruption should not get replicated unless it was already present in the backup from which the replica was created.

Of course if you ignore checksum failures then the master may start going wrong things, and that wrongness will be replicated.

If the corruption is occurring in memory then all bets are off.