Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Homebrew postgres broken

I installed Postgresql 9.4.0 installed on my Mac (10.10.1/Yosemite) using homebrew. It does not work.

I have created the softlink to /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist in ~/Library/LaunchAgents.

If I try to manually load postgres I get the message that the "Operation is in progress"

> launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist /usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation already in progress 

However postgres does not appear to be running.

> ps auxw | grep post billmcn           670   0.0  0.0  2424272    452 s000  R+   10:12PM   0:00.01 grep post 

and I cannot connect with the command line client.

> psql 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"? 

To my knowledge I have tried all the fixes suggested on other Stackoverflow threads discussing this problem. Specifically:

  • I have uninstalled and reinstalled postgres and the accompanying Ruby gem. There is no postgres 8.0 version on my machine.
  • I have verified that the psql client program is the 9.4.0 version installed by Homebrew and not a Mac system binary.
  • I have verified that the /usr/local/var/postgres/postmaster.pid does not exist.
  • I have rebooted the machine.

I did have Homebrew postgres working on this machine earlier. I think what broke it is upgrading from version 8 to version 9 but I'm not sure.

I don't have any databases I need to preserve. I'm willing to start clean with postgres; I just need to get it to work now. Any ideas?


The issue appears to have been permissions on the /usr/local/var/postgres directory. Here is what my var directory looked like when things weren't working.

ll /usr/local/var/ drwxr-xr-x  3 billmcn  admin  102 Dec 20 12:44 cache drwxr--r--  2 root     admin   68 Dec 29 21:37 postgres 

(whoami = "billmcn")

I deleted /usr/local/var/postgres, uninstalled and reinstalled postgres, and now it looks like this.

ll /usr/local/var/ drwxr-xr-x   3 billmcn  admin  102 Dec 20 12:44 cache drwx------  23 billmcn  admin  782 Dec 30 10:51 postgres 

Not sure how it got into this state because I don't remember futzing with the permissions on this directory, but no matter. It works now.

like image 685
W.P. McNeill Avatar asked Dec 30 '14 06:12

W.P. McNeill


People also ask

How to install PostgreSQL on Mac using Homebrew?

In Terminal run the following command to install PostgreSQL on Mac using Homebrew. We can check the version of PostgreSQL using the psql command. To start PostgreSQL run the following command in the Terminal. We will get a similar output shown below. To stop PostgreSQL run the following command in the Terminal.

How do I stop PostgreSQL in Brew?

To stop PostgreSQL run the following command in the Terminal. $ brew services stop postgres We will get a similar output. Stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

How to start and stop PostgreSQL in Linux?

To start PostgreSQL run the following command in the Terminal. We will get a similar output shown below. To stop PostgreSQL run the following command in the Terminal. We will get a similar output. Stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

What is a formula PostgreSQL installation?

It includes a version of PostgreSQL packaged by what it refers to as a formula. This type of installation might be preferred by people who are comfortable using the command line to install programs, such as software developers.


1 Answers

I had the same problem installing postgres using homebrew on a freshly installed Yosemite.

First off my brew config looks like this:

HOMEBREW_VERSION: 0.9.5 ORIGIN: https://github.com/Homebrew/homebrew HEAD: 9f6926265f8e4be7cc80dfe9042f2cd3c1e8dc9e Last commit: 64 minutes ago HOMEBREW_PREFIX: /usr/local HOMEBREW_CELLAR: /usr/local/Cellar CPU: quad-core 64-bit sandybridge OS X: 10.10.1-x86_64 Xcode: 6.1.1 Clang: 6.0 build 600 X11: N/A System Ruby: 2.0.0-481 Perl: /usr/bin/perl Python: /usr/bin/python Ruby: ~/.rvm/rubies/ruby-2.1.1/bin/ruby 

First thing i noticed was that I had no write permission to /usr/local/var/postgres. This was easily changed issuing sudo chown -R `whoami` /usr/local/var/postgres then I reinstalled postgresql and did

cat /usr/local/var/postgres/server.log

which revealed:

postgres cannot access the server configuration file "/usr/local/var/postgres/postgresql.conf": No such file or directory

So I removed the directory /usr/local/var/postgres and issued the command to initialize the database.

initdb -D /usr/local/var/postgres/

This seemed to have done the trick and postgres is running fine.

like image 58
pixeltom Avatar answered Sep 30 '22 02:09

pixeltom