From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Will Childs-Klein <willck93(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: strange warning sign relating to storage manager |
Date: | 2013-04-27 22:08:20 |
Message-ID: | 21204.1367100500@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Will Childs-Klein <willck93(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2013-04-27 22:12:24 | Re: exactly what is COPY BOTH mode supposed to do in case of an error? |
Previous Message | Will Childs-Klein | 2013-04-27 21:51:58 | strange warning sign relating to storage manager |