Re: Extending amcheck to check toast size and compression

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: pgsql-hackers@postgresql.org
Date: 2021-05-04T16:43:47Z
Lists: pgsql-hackers
+       /* 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).

-- 
Justin



Commits

  1. Remove tests added by bd807be6935929bdefe74d1258ca08048f0aafa3.

  2. amcheck: Add additional TOAST pointer checks.