"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