Re: Extending amcheck to check toast size and compression
Mark Dilger <mark.dilger@enterprisedb.com>
From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-05-04T18:24:35Z
Lists: pgsql-hackers
Attachments
- v2-0001-Adding-more-toast-pointer-checks-to-amcheck.patch (application/octet-stream) patch v2-0001
- (unnamed) (text/plain)
> On May 4, 2021, at 9:43 AM, Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> + /* Oversized toasted attributes should never be stored */
> + if (toast_pointer.va_rawsize > VARLENA_SIZE_LIMIT)
> + report_corruption(ctx,
> + psprintf("toast value %u rawsize %u exceeds limit %u",
> + toast_pointer.va_valueid,
> + toast_pointer.va_rawsize,
> + VARLENA_SIZE_LIMIT));
> +
>
> I think the comment sounds wrong since toast is precisely for storage of
> "oversized" attributes.
>
> https://www.postgresql.org/docs/current/storage-toast.html
> | This section provides an overview of TOAST (The Oversized-Attribute Storage Technique).
Thanks for reviewing! Changed to:
+ /* Toasted attributes too large to be untoasted should never be stored */
Commits
-
Remove tests added by bd807be6935929bdefe74d1258ca08048f0aafa3.
- ccf289745d3e 15.0 landed
-
amcheck: Add additional TOAST pointer checks.
- bd807be69359 15.0 landed