People, This is a weird bug. In a freshly initialized database, or just after deleting the pg_internal.init relcache file,
SELECT 16854::regclass; crashes the backend. (Apparently any Oid not belonging to a regclass does the trick.) The following assertion is failed: TRAP: FailedAssertion(«!(((ntp)->t_data)->t_infomask & 0x0010)», Archivo: «/home/alvherre/CVS/pgsql/source/00orig/src/backend/utils/cache/catcache.c», Línea: 1729) The problem is that build_dummy_tuple() is calling HeapTupleSetOid(), which complains apparently because it believes the pg_class relation does not have Oids. This is wrong, but it doesn't know. In fact, next time through, when it has the relcache built, all is well. I can attest that the cache has wrong info, because gdb shows (gdb) print *cache->cc_tupdesc $15 = {natts = 25, attrs = 0x839d5d4, constr = 0x839cb3c, tdtypeid = 2249, tdtypmod = -1, tdhasoid = 0 '\0'} (gdb) print cache->cc_relname $16 = 0x8266f7a "pg_class" I don't know what the fix for this should look like ... This doesn't seem to happen on 7.4. -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "El sabio habla porque tiene algo que decir; el tonto, porque tiene que decir algo" (Platon). ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend