I have PostgreSQL 8.4 installed on ubuntu 12.04. When i start postgresql service through terminal, it doesn't start. Then i check and found that postmaster.pid is missing. My question is how can i recover that postmaster.pid and what could possibly caused that missing postmaster.pid ?
Thanks. Sorry for my bad english since i'm not native.
1 Answer
postmaster.pid should be absent if the server isn't running. That's correct. It's the process ID of the running PostgreSQL server, and if there isn't one, there's not going to be a postmaster.pid unless the server stopped abruptly, in which case it'll contain the pid of the old postmaster from before the crash until PostgreSQL is restarted, at which point PostgreSQL will replace it with the pid of the new postmaster.
You never need to mess with postmaster.pid. Above all else, never delete it.
Whatever the cause for the service not starting is, a missing postmaster.pid is not it.
You haven't shown what command you used to start PostgreSQL, what the error was, or anything else, so it's hard to help you beyond that. General tips:
- you must start and stop services with
sudo; - Check
/var/log/syslogand the PostgreSQL logs for details on startup problems