Re: strange warning sign relating to storage manager - Mailing list pgsql-hackers

From Tom Lane
Subject Re: strange warning sign relating to storage manager
Date
Msg-id 21204.1367100500@sss.pgh.pa.us
Whole thread Raw
In response to strange warning sign relating to storage manager  (Will Childs-Klein <willck93@gmail.com>)
List pgsql-hackers
Will Childs-Klein <willck93@gmail.com> writes:
> I've been doing some extensive modifications of the storage manager (md.c)
> in postgres. My code all compiles just fine, but when i run initdb, i
> receive the following output:

> "creating template1 database in /home/accts/wdc22/pgdata/base/1 ... ok
> initializing pg_authid ... WARNING:  no roles are defined in this database
> system
> HINT:  You should immediately run CREATE USER "wdc22" SUPERUSER;.
> FATAL:  database "template1" does not exist
> child process exited with exit code 1"

> I've searched around for what this means, but I can't find anything.

A few moments with grep would've showed you that the WARNING means no
rows were found in a seqscan of pg_authid.  The system is able to plow
ahead anyway in single-user mode, but then it evidently also can't find
the row that should exist in pg_database for template1.  So yeah,
something is wrong with your storage stuff; the rows inserted during
bootstrap aren't getting found, or aren't visible, or some such, during
a subsequent single-user-mode run.

I'd suggest running initdb with --noclean and then trying to start a
standalone backend by hand under gdb, so you can trace through things
and see why it's not seeing the rows.  You could also eyeball the
so-far-created files to see if they contain what you expect.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Will Childs-Klein
Date:
Subject: strange warning sign relating to storage manager
Next
From: Simon Riggs
Date:
Subject: Re: exactly what is COPY BOTH mode supposed to do in case of an error?