Will Childs-Klein <[email protected]> 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


-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to