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


Reply via email to