Skip site navigation (1) Skip section navigation (2)

Re: Assertion failure with small block sizes

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "PostgreSQL-development Hackers" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Assertion failure with small block sizes
Date: 2007-10-14 15:46:01
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-patches
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:

> Gregory Stark <stark(at)enterprisedb(dot)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

  Gregory Stark

In response to


pgsql-patches by date

Next:From: Gokulakannan SomasundaramDate: 2007-10-14 16:20:48
Subject: Re: Including Snapshot Info with Indexes
Previous:From: Tom LaneDate: 2007-10-14 14:55:54
Subject: Re: Assertion failure with small block sizes

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group