I'm unfamiliar with how to use postgres and need some help. I'm currently running OSX Yosemite.
When I start postgres I get this:
pg_ctl: could not start server Examine the log output. There was an error executing [start] on postgres. Check /Users/work/git/proj/var/log/postgres.log for details. createuser: could not connect to database postgres: FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory The log is below.
When I try to stop postgres I get this:
Postgres not running And when I run ps -ef |grep postgres I get this:
20010 13398 1 0 Jul07 ? 00:00:00 /usr/pgsql-9.3/bin/postgres -h -k /Users/work/git/proj/var/pg 20010 13399 13398 0 Jul07 ? 00:00:09 postgres: logger process 20010 13401 13398 0 Jul07 ? 00:00:10 postgres: checkpointer process 20010 13402 13398 0 Jul07 ? 00:00:00 postgres: writer process 20010 13403 13398 0 Jul07 ? 00:00:00 postgres: wal writer process 20010 13404 13398 0 Jul07 ? 00:00:36 postgres: autovacuum launcher process 20010 13405 13398 0 Jul07 ? 00:00:02 postgres: stats collector process 20010 18112 17723 0 10:22 pts/0 00:00:00 grep postgres What does this all mean and how could I possibly fix this?
log text
Postgres data dir doesn't exist. Creating The files belonging to this database system will be owned by user "rose.smith". This user must also own the server process. The database cluster will be initialized with locale "C". The default database encoding has accordingly been set to "SQL_ASCII". The default text search configuration will be set to "english". Data page checksums are disabled. creating directory /Users/work/git/proj/postgres ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB creating configuration files ... ok creating template1 database in /Users/work/git/proj/postgres/base/1 ... ok initializing pg_authid ... ok initializing dependencies ... ok creating system views ... ok loading system objects' descriptions ... ok creating collations ... ok creating conversions ... ok creating dictionaries ... ok setting privileges on built-in objects ... ok creating information schema ... ok loading PL/pgSQL server-side language ... ok vacuuming database template1 ... ok copying template1 to template0 ... ok copying template1 to postgres ... ok syncing data to disk ... ok Success. You can now start the database server using: /usr/pgsql-9.3/bin/postgres -D /Users/work/git/proj/postgres or /usr/pgsql-9.3/bin/pg_ctl -D /Users/work/git/proj/postgres -l logfile start waiting for server to start....< 2015-06-04 17:24:57.966 GMT >LOG: redirecting log output to logging collector process < 2015-06-04 17:24:57.966 GMT >HINT: Future log output will appear in directory "pg_log". done server started waiting for server to shut down.... done server stopped waiting for server to start....< 2015-06-04 18:10:18.044 GMT >LOG: redirecting log output to logging collector process < 2015-06-04 18:10:18.044 GMT >HINT: Future log output will appear in directory "pg_log". done server started "/Users/work/git/proj/var/log/postgres.log" 413L, 20935C after running /usr/pgsql-9.3/bin/postgres -D /Users/work/git/proj/postgres
< 2015-07-08 14:40:36.331 GMT >FATAL: lock file "postmaster.pid" already exists < 2015-07-08 14:40:36.331 GMT >HINT: Is another postmaster (PID 18145) running in data directory "/Users/work/git/proj/postgres"? 22 Answers
I can't speak to why this worked after trying these commands just a few minutes ago, but it is now working. Good luck to anyone else with the same problem.
- stop postgres
killall postgres- remove postgres database with
rm -rf postgres - start postgres
This website was helpful. I think my problem may have been the same as his.
I had deleted ~/Library/Containers/com.heroku.postgres or ~/Application Support/Postgres/ while the Postgres.app was still running. The old version was still running since I deleted the pid file, and it didn't know how to shut it down.
I faced same issue. I solved the problem with the following commands.
If you install postgresql using HomeBrew...
rm /usr/local/var/postgres/postmaster.pid pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start Hope this helps you!