简体   繁体   中英

starting postgres server on Mac

I am having this issue third or forth time where after restarting my Mac (Yosemite and same thing with previous OSX version) postgres server doesn't start. I had installed my postgres following this link. Any idea why this consistently occurs after every restart?

typing psql it gives

psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

I just fixed this on my mac. I used homebrew to install postgres. These are the steps I took to get up and running again.

First check the status of the postgresql service:

pg_ctl -D /usr/local/var/postgres status

if you see this pg_ctl: no server running , unload the launch agent:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

then move your existing postgres data (move rather than delete - cheap insurance):

mv /usr/local/var/postgres /usr/local/var/postgres-deletemewhenitsallgood

then initialize your postgres database:

initdb /usr/local/var/postgres -E utf8

then load your launch agent:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

OR start it:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

Now check the status again:

pg_ctl -D /usr/local/var/postgres status

if you see something like this, you are good to go.

pg_ctl: server is running (PID: 61295)
/usr/local/Cellar/postgresql/bin/postgres "-D" "/usr/local/var/postgres"

Then you can go into your postgres database:

psql -d postgres

To start postgres server on mac:

install postgres with brew

brew install postgres

ensure you have permissions for /usr/local/postgres

sudo chown -R `whoami` /usr/local

then init the db:

initdb /usr/local/var/postgres

To have launchd start postgresql at login:

ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

To load postgresql:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

To check your version:

psql --version

And to access postgres

psql -d postgres

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM