> On Jul 14, 2021, at 7:57 AM, Mark Dilger <mark.dilger@enterprisedb.com> wrote:
>
> so no valid toast pointer should contain a va_rawsize field greater than MaxAllocSize
... nor should any valid toast pointer contain a va_extinfo field encoding a va_extsize greater than va_rawsize -
VARHDRSZ.
Violations of either of these properties suggest either a bug in the code which wrote the toast pointer, or that the
toastpointer has been corrupted since being written, or that the page of data being read is being interpreted
incorrectly,perhaps due to catalog corruption, or because the page is just random noise and not part of a valid table,
etc. The amcheck code is not focused specifically on whether the toasted value can be detoasted so much as deducing
thatthe data cannot be correct.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company