On 3/5/20 7:48 PM, Michael Paquier wrote:
On Thu, Mar 05, 2020 at 04:14:20PM -0800, Magnus Hagander wrote:
That's a pretty dangerous mistake, and moreso because we don't have a
test around it. We should really find a way to add such a test -- just
a hardcoded page calculation that should always return the same value
perhaps?
Yes.. Using pg_checksums --check on an upgraded instance which had
checksums enabled would detect that immediately, but it could be
possible also to have a SQL-callable function which takes in input a
bytea and returns the checksum. In order to make such tests reliable
with any page size, we could pass down the page size to
pg_checksum_page(), and then give the function's caller this
possibility. However I recall that we'd rather keep BLCKSZ hardcoded
in checksum_impl.h on performance grounds.
Yeah, keeping BLKSZ a constant is pretty important for performance.
That's one of the main reasons that we only support the default.
Regards,
--
-David
da...@pgmasters.net