Thread: Cannot start PostgreSQL

Cannot start PostgreSQL

From
"Reinhard Hnat"
Date:
I have been workong with postgresql for months without problem and did not
change anything (I hope so). But now i cannot restart it. Starting with
pg_ctl start says 'postmaster successfully started', but when i try to check
with pg_ctl status it says 'pg_ctl: postmaster or postgres is not running'.
There is no matrching process to be seen with 'ps ax'. If i start postmaster
directly i see the following:

DBAdmin@linuxtest:~> postgres -D $PGDATA
LOG:  database system was shut down at 2004-09-07 11:15:03 CEST
LOG:  open of /home/DBAdmin/postgres/data/pg_xlog/000000010000003E (log file
1, segment 62) failed: Datei oder Verzeichnis nicht gefunden
LOG:  invalid primary checkpoint record
LOG:  open of /home/DBAdmin/postgres/data/pg_xlog/000000010000003E (log file
1, segment 62) failed: Datei oder Verzeichnis nicht gefunden
LOG:  invalid secondary checkpoint record
PANIC:  unable to locate a valid checkpoint record
Abgebrochen

'Datei oder Verzeichnis nicht gefunden' means in english: 'File or directory
not found'
'Abgebrochen' means in english 'Aborted'

The files noted in the above messages do not exist but there are otheres
called 0000000100000078 .. 000000010000007D

Has anyone an idea what might be the reason for this and how to recover.
Thanks in advance
----
R.Hnat




Re: Cannot start PostgreSQL

From
Tom Lane
Date:
"Reinhard Hnat" <hnat@logotronic.co.at> writes:
> DBAdmin@linuxtest:~> postgres -D $PGDATA
> LOG:  database system was shut down at 2004-09-07 11:15:03 CEST
> LOG:  open of /home/DBAdmin/postgres/data/pg_xlog/000000010000003E (log file
> 1, segment 62) failed: Datei oder Verzeichnis nicht gefunden
> LOG:  invalid primary checkpoint record
> LOG:  open of /home/DBAdmin/postgres/data/pg_xlog/000000010000003E (log file
> 1, segment 62) failed: Datei oder Verzeichnis nicht gefunden
> LOG:  invalid secondary checkpoint record
> PANIC:  unable to locate a valid checkpoint record

> The files noted in the above messages do not exist but there are otheres
> called 0000000100000078 .. 000000010000007D

Did you suffer some kind of system crash?  xlog files don't normally
just disappear.

You can probably get out of this with pg_resetxlog.  I'm not sure
whether you will find corrupted data after you do.  The log messages
seem to indicate that the database had been shut down cleanly before
the problem occurred; if so the contents of xlog aren't really needed.
But if you had filesystem corruption it may have affected more than
just the xlog files.  A dump and reload might be prudent.

            regards, tom lane