Postgres DB not starting on Mac OSX: ERROR says: connections on Unix domain socket

56,731

Solution 1

I have the database working now.

Here are the steps I took:

  1. I rebooted my computer
  2. I opened the terminal and ran cd /
  3. Then I did ls -la
  4. Ensured that I could get to MackintoshHD/usr/local/var/postgres
  5. Then did ls -la
  6. Here I saw the postmaster.pid file
  7. I ran this command cp postmaster.pid ~/Desktop which copied the file to my desktop.I like to do this if I am deleting files. If something does wrong i can put it back
  8. Then I ran this command to remove the file from the postgres directory rm -r postmaster.pid
  9. I went to my pgadmin3 gui and fired it up. and Voila it worked :)

Thanks to @Craig Ringer for his help

Solution 2

I had the same problem today on Mac Sierra. In Mac Sierra you can find postmaster.pid inside /Users/<user_name>/Library/Application Support/Postgres/var-9.6. Delete postmaster.pid and problem will be fixed.

Solution 3

This can happen if the database did not shut down correctly. To fix it simply delete the postmaster.pid file. The location differs based on your OS:

MacOS:

 rm /Users/<user_name>/Library/Application\ Support/Postgres/var-9.6/postmaster.pid

or using Postgres.app:

 rm /Users/<user>/Library/Application\ Support/Postgres/var-10/postmaster.pid

Linux:

 rm /usr/local/var/postgres/postmaster.pid

Solution 4

I'm using Postgres.app, and the below worked for me:

I entered the commands into my terminal below, locating the Postgres folder beforehand and not using "justin".

$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"

$pg_ctl restart -m immediate

As Justin explains in his post, the output after this was:

waiting for server to shut down……………………………………………………… failed pg_ctl: server does not shut down

After entering the command again:

$pg_ctl restart -m immediate

It worked and I got this message:

pg_ctl: old server process (PID: 373) seems to be gone starting server anyway server starting LOG: database system was interrupted; last known up at 2015-07-28 18:15:26 PDT LOG: database system was not properly shut down; automatic recovery in progress LOG: record with zero length at 0/4F0F7A8 LOG: redo is not required LOG: database system is ready to accept connections LOG: autovacuum launcher started

Source

Share:
56,731
banditKing
Author by

banditKing

Student, hacker, mad hatter ;-)

Updated on November 22, 2020

Comments

  • banditKing
    banditKing over 3 years

    I ve installed Postgresql and then ran a bunch of rails apps on my local Mac OSX Mountain Lion and created databases etc. Today after a while when I launched pgAdminIII and tried to launch a database server I got this error:

    enter image description here

    A quick google showed this post. More browsing pointed to the fact that there might be some sort of postmaster.pid file lying around that might be the root cause of this. If I delete that things would be fine.

    However, before I go deleting stuff on my computer I wanted to make sure Im debugging this in a systematic way which would not result in more problems.

    Somewhere I read that before deleting that file, I need to run this command:

      ps auxw | grep post
    

    If I get no results then, its OK to delete the file. Else not. Well, I got this result of that command:

      AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post
    

    So now of course Im throughly confused.

    So what should I do?

    Here is part of my postgres server error log:

     FATAL:  lock file "postmaster.pid" already exists
     HINT:  Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
    

    Postgresql is still not running, still get the same error and nothing has changed. Im too chicken to delete things without checking on SO.

    Could some of you experts please guide a noob.

    Thanks

  • Hoang Le
    Hoang Le over 8 years
    Thanks, this solution works! After removing postmaster.pid and run postgres -D /usr/local/var/postgres, it notices me about the error cause: "database system was not properly shut down; automatic recovery in progress"
  • Radek
    Radek over 6 years
    Mine was not in /usr/local/var/postgres but in /Users/[myhome]/Library/Application Support/Postgres/var-9.5/ - last directory depends on your version, deleted postmaster.pid and worked like a charm, thank you
  • JLF
    JLF over 6 years
    Deleted postmaster.pid in this location and the problem was fixed. Thanks!
  • Jarsen
    Jarsen over 6 years
    This is also where I needed to find the postmaster.pid file since I am using the Postgres.app
  • Fabrice Yopa
    Fabrice Yopa about 6 years
    this solved my issue
  • Clucking Turtle
    Clucking Turtle about 6 years
    This works. In my case, the pid file didn't get removed because of a hard reboot, so just had to back it up.
  • Simon Franzen
    Simon Franzen over 5 years
    For Postgres.app it's the same: could be that it's located here /Users/<user>/Library/Application\ Support/Postgres/var-10/postmaster.pid
  • Alexander
    Alexander over 5 years
    I am also using the Postgres.app running v10. If my Mac has an unexpected shutdown while Postgres is running then I need to go and delete the postmaster.pid file when I restart the computer. Does anyone know if that is the expected behaviour of the app? Seems like a strange design if deliberate.
  • CTS_AE
    CTS_AE about 5 years
    Make sure the process is spun down before removing this file. You can run cat postmaster.pid in the directory to peek in and reference that you don't see the PID running in something like activity monitor. The Postgres UI will alert you about this, but I thought I should put it here before people get willy nilly and how to check yourself. It should also be sufficient to look for postgres in the activity monitor and kill anything that's related, or just restart your system and then delete the file. Not doing this could result in a corrupt db 🔥
  • Anil Kumar
    Anil Kumar over 2 years
    This worked for me brew postgresql-upgrade-database