On 10/27/23 13:34, Paul Förster wrote:
Hi,
I have a few questions about pg_checksums.
Long story short, checksums were disabled in our environment but are getting enabled now
(again!) because of block corruptions which destroyed a few databases in a database
cluster. And before you say "told you so", the decision to disable checksums
was not mine. Some people just have to learn the hard way.
Anyway, re-enabling data checksums creates a few questions:
a) why isn't it possible to enable checksumming while a database cluster is up?
Data might be changing.
b) why isn't it possible to check whether checksums are enabled or not?
(This is my tiny test instance.)
$ pg_controldata | grep checksum
Data page checksum version: 0
postgres=# show data_checksums;
data_checksums
----------------
off
(1 row)
c) in a Patroni cluster consisting of a primary and a sync standby, is it safe
to enable checksumming in the replica, then switch over and enable it in the
ex-primary, i.e. now new replica, without any penalty? Or do I have to perform
a reinit to really get them in sync again, though paronictl happily reports
them to be in sync?
d) how long does it take to enable checksums in general? Minimizing down-time
is crucial. Does it depend on the database cluster size, or the number of files
it uses, or what can be taken as a criterion to estimate then necessary
down-time.
Thanks in advance for your insights.
Cheers
Paul
--
Born in Arizona, moved to Babylonia.