Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i setup the path for heroku postgresql app?

I just installed the heroku PSQL app (v1.0) and i'm having trouble being able to connect my rails apps using the gem pg "0.1.4". I already added the path PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" to my .profile and my .bashrc files, but nothing seems to allow me to run psql simply by calling "psql". I had success using "psql -h localhost". When i go for "psql" i get:

Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

I'm using mountain lion.

like image 274
Diego Gomes Avatar asked Jul 26 '12 22:07

Diego Gomes


3 Answers

Still pretty sure that both of the existing answers are answering the wrong question. The author mentions right in the title that he is having trouble with PATH, not connecting to his DB or configuring rails. This is the situation I got into, and this is my solution.

After getting postgres.app running and setting PATH in my .bashrc file as directed in the postgress.app documentation - http://postgresapp.com/documentation :

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

The problem was that this path setting was not taking effect after restarting terminal.app - running which psql was returning the copy in "/usr/bin/psql", this is the copy that comes installed with Lion and Mountain Lion, not the new version installed in "/Applications/". It even says in the Postgres.app instructions "run which psql to tell that the correct version is being loaded".

Anyway - the odd thing I found was that after I ran:

source .bashrc

Then the command "which psql" would return the correct version located in /Applications/.

At this point I was stumped and had to get some extra help. The guys I tapped also thought it was quite odd too, however they quickly found out that neither the .bashrc OR the .profile files were being loaded. This is very strange, I have not seen this on any of my other macs running leopard through lion.

Now finally the solution- I am not sure this is proper, but it did permanently fix my problem. We found that their was one profile file being loaded into the terminal - the .bash_login file. In the end the solution was just to use the .bash_login to source the .bashrc file. Here is the edit to .bash_login:

source $HOME/.bashrc

And that did it.

Anyway I can't say that this is exactly the fix that diego needed / was looking for, but it is definitely the problem for me.

like image 166
Nick Avatar answered Nov 02 '22 12:11

Nick


You'll need to add host:localhost to any database configuration you're using in your development environment (read development / test/ production / etc):

config/database.yml

development:
  adapter: postgresql
  encoding: unicode
  database: my_awesome_app_development
  pool: 5
  host: localhost
  username: my_awesome_app_development
  password:

Edit: also see Repairing Postgresql after upgrading to OSX 10.7 Lion

like image 37
kelly.dunn Avatar answered Nov 02 '22 13:11

kelly.dunn


I know this is an old question but I just had the same problem. The issue is that there is a typo in the documentation. The app is Postgres93.app, not Postgres.app, so the path should have Postgres93.app:

PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH"

It's amazing how many posts there are about this and the typo doesn't seem to have been noticed yet. Changing that was all it took to get psql and which psql to work correctly for me.

like image 37
sixty4bit Avatar answered Nov 02 '22 11:11

sixty4bit