Postgresql adapter (pg): could not connect to server

六月ゝ 毕业季﹏ 提交于 2019-11-27 11:11:11
pjam

Try adding host: localhost to your database.yml. (Based on: https://stackoverflow.com/a/10793186/919641)

Craig Ringer

Your Pg gem was compiled against the PostgreSQL libpq pre-installed in Mac OS X and you're using the psql that you installed in a newer version, or vice versa.

This can be worked around by specifying a TCP/IP connection, by adding localhost to database.yml, but it's better to compile the Pg gem against the libpq for the server you're actually running. To do that, you should be able to set the PATH environment variable to the folder with the correct pg_config in it before compiling. In your case that'll be somewhere within Postgres.app.

If it does not work even after adding host: localhost, remove the postmaster.pid

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

BvuRVKyUVlViVIc7

you should add host: localhost to your db config...

I had the same problem on a Mac. Turns out that the psql I had on my path wasn't working correctly. Try launching psql by typing:

~/projects/some_project/project-rails$ psql
  psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

If you see this, it indicates the psql binary on your path is attempting to connect using socket and unable to do so (for whatever reason). Since I had already downloaded pgadmin and it was connecting fine, I knew it wasn't an issue with the server.

Fixed it by adding the right version of pgsql to my PATH:

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

Now psql (and rails) are happy!

I had this same issue. You have to actually run / start postgres. Postgres must have stopped running on my computer recently, so I had to make sure it's running by starting the postgres server

postgres -D /usr/local/var/postgres

Then the following commands (which were causing me the same error you had) all worked:

bundle exec rake db:create db:migrate
bundle exec rspec

Since This was the first post that appeared in my search result, I have decided to post the updated fix for this. Since none of the above suggestion worked for me.

brew postgresql-upgrade-database

It upgraded postgresql data and moved my old version. I was on 9.6 instead of 10.4

Found the solution here

I had this issue. One of the comments here helped me fix the issue.

Thanks, this answer helped me fix it. The steps I took were simple: 1) gem uninstall pg, 2) bundle install, done. – haslo Dec 3 '13 at 20:27

gem uninstall pg
bundle install

find / -name 'postgresql.conf'

netstat -an | grep 5432 # => /tmp/.s.PGSQL.5432

vi /Users/admin/Library/Application\ Support/Postgres93/var/postgresql.conf

FROM: unix_socket_directories = '/tmp'

TO: unix_socket_directories = '/var/pgsql_socket'

sudo mkdir /var/pgsql_socket

sudo chmod 777 /var/pgsql_socket

For heroku this is all you need.

heroku addons:create heroku-postgresql

production:
 adapter: postgresql
 encoding: unicode
 host: localhost
 # For details on connection pooling, see rails configuration guide
 # http://guides.rubyonrails.org/configuring.html#database-pooling
 pool: 5

I just had the problem that the postgres app wasn't running on my mac...

On Mac, I had different versions of postgresql. This problem has been solved when I tried brew switch postgresql 9.5.5 (I don't think version number matters at this point)

$ brew switch postgresql 9.5.5
Cleaning /usr/local/Cellar/postgresql/9.6.1
Cleaning /usr/local/Cellar/postgresql/9.6.5
Cleaning /usr/local/Cellar/postgresql/10.2
Cleaning /usr/local/Cellar/postgresql/10.3
Cleaning /usr/local/Cellar/postgresql/9.5.5
Cleaning /usr/local/Cellar/postgresql/9.5.4

All data will be gone away, by the way. I guess there's a brew command for doing this without switching version, which I couldn't find.

I had the same problem on OS High sierra 10.13 I followed the instructions from this website I downloaded version 10.4 ref: https://postgresapp.com/

Then I added this to bash profile: export PATH=$PATH:/Library/PostgreSQL/10.4/bin:$PATH

re start terminal.

Open new window terminal and then type: psql -U postgres

after that you will see this message: psql (10.4) Type "help" for help.

postgres=#

My problem was that the /etc/hosts file changed and didn't have this crucial entry: 127.0.0.1 localhost

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!