Re: Assertion failure with small block sizes - Mailing list pgsql-patches

From Gregory Stark
Subject Re: Assertion failure with small block sizes
Date
Msg-id 873awdu2bq.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: Assertion failure with small block sizes  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Assertion failure with small block sizes
List pgsql-patches
"Tom Lane" <tgl@sss.pgh.pa.us> writes:

> Gregory Stark <stark@enterprisedb.com> writes:
>> Testing Postgres with a small block size runs into an assertion failure when
>> it tries to toast a pg_proc tuple during initdb. I think the assertion is just
>> wrong and RELKIND_UNCATALOGUED is valid here.
>
> Uh, what makes you think the assertion is the only problem?  The toast
> table won't exist yet.

Well tuptoaster doesn't try to store anything external if there's no toast
table anyways. With the assertion modified it passes the regression tests
(modulo row orderings).

> How small is "small" anyway?

This was 1k with 256 toast target/threshold.

If I push the TOAST_TUPLES_PER_PAGE up to 16 I get another failure on the same
line from trying to toast a sequence. If I add RELKIND_SEQUENCE to the
assertion then it passes all regression tests even if I push
TOAST_TUPLES_PER_PAGE up to 1024 -- ie, try to toast everything as far as
possible. Perhaps heapam.c:1761 should just check for RELKIND_SEQUENCE as
well.


--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: Assertion failure with small block sizes
Next
From: Tom Lane
Date:
Subject: Updated patch for tsearch contrib examples