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. Other places in the code check for both before, for example, creating toast tables.
creating template1 database in /home/stark/src/local-HEAD/pgsql/src/test/regress/./tmp_check/data/base/1 ... TRAP: FailedAssertion("!(rel->rd_rel->relkind == 'r')", File: "tuptoaster.c", Line: 440) --- tuptoaster.c 13 Oct 2007 22:34:06 +0100 1.78 +++ tuptoaster.c 14 Oct 2007 15:37:17 +0100 @@ -437,7 +437,8 @@ * We should only ever be called for tuples of plain relations --- * recursing on a toast rel is bad news. */ - Assert(rel->rd_rel->relkind == RELKIND_RELATION); + Assert(rel->rd_rel->relkind == RELKIND_RELATION || + rel->rd_rel->relkind == RELKIND_UNCATALOGED); /* * Get the tuple descriptor and break down the tuple(s) into fields. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster