From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | pg_upgrade: Support for upgrading to checksums enabled |
Date: | 2024-08-26 06:23:44 |
Message-ID: | 57957aca-3eae-4106-afb2-3008122b9950@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I'm reposting this patch in a separate thread so I can make a separate
commitfest entry for it. The previous discussion is mixed in with [0].
The purpose of this patch is to allow using pg_upgrade between clusters
that have different checksum settings. When upgrading between instances
with different checksum settings, the --copy (default) mode
automatically sets (or unsets) the checksum on the fly.
This would be particularly useful if we switched to enabling checksums
by default, as [0] proposes, but it's also useful without that.
Some discussion points:
- We have added a bunch of different transfer modes to pg_upgrade in
order to give the user control over the expected file transfer
performance. Here, I have added this checksum rewriting to the existing
--copy mode, and I have measured about a 5% overhead. An alternative
would be to make this an explicit mode (--copy-slow,
--copy-and-make-adjustments).
- Windows has a separate code path in the --copy mode. I don't know the
reasons or advantages of that. So it's not clear how the checksum
rewriting mode should be handled in that case. We could switch to the
non-Windows code path in that case, but then the performance difference
between the normal path and the checksum-rewriting path is even more
unclear.
Attachment | Content-Type | Size |
---|---|---|
v1-0001-pg_upgrade-Support-for-upgrading-to-checksums-ena.patch | text/plain | 4.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2024-08-26 06:32:54 | Re: Switch PgStat_HashKey.objoid from Oid to uint64 |
Previous Message | Bharath Rupireddy | 2024-08-26 06:14:05 | Re: Introduce XID age and inactive timeout based replication slot invalidation |