PostgreSQL adapter (pg): не удалось подключиться к серверу



Я получаю эту ошибку каждый раз, когда я запускаю приложение Rails (It не удается подключиться к моему локальному Postgresql)

/Users/leonardo/.rvm/gems/ruby-1.9.3-p362/gems/activerecord-3.2.11/lib/
active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize': 
could not connect to server: No such file or directory (PG::Error)
   Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

Я использую Postgres.приложение что он правильно работает.

если я запускаю

$ psql

Я могу правильно войти в Postgresql приставка.

$ which psql
 /Applications/Postgres.app/Contents/MacOS/bin/psql

Gemfile

source 'https://rubygems.org'
ruby "1.9.3"

gem 'rails', '3.2.11'
gem "pg"

264   14  

14 ответов:

попробуйте добавить host: localhost в базу данных.в формате YML. (На основе: https://stackoverflow.com/a/10793186/919641)

код Pg gem был скомпилирован против PostgreSQL libpq, предварительно установленного в Mac OS X, и вы используете psql что вы установили в более новой версии, или наоборот.

это можно обойти, указав TCP / IP-соединение, добавив localhost до database.yml, но лучше скомпилировать Pg камень против libpq для сервера, на котором вы фактически работаете. Чтобы сделать это, вы должны быть в состоянии установить PATH переменная окружения в папку с правильным pg_config в нем перед компиляцией. В вашем случае это будет где-то внутри Postgres.app.

Если это не работает, даже после добавления host: localhost удалить postmaster.pid

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

вы должны добавить host: localhost в БД конфигурации...

у меня была такая же проблема на Mac. Оказывается, что psql, который у меня был на моем пути, не работал правильно. Попробуйте запустить psql, введя:

~/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"?

Если вы видите это, это указывает на то, что двоичный файл psql на вашем пути пытается подключиться с помощью сокета и не может этого сделать (по какой-либо причине). Так как я уже скачал pgadmin и он подключался нормально, я знал, что это не проблема с сервером.

исправил добавив справа версия pgsql для моего пути:

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

теперь psql (и рельсы) счастливы!

у меня была такая же проблема. На самом деле надо запускать / запустить сервер. Postgres, должно быть, перестал работать на моем компьютере в последнее время, поэтому я должен был убедиться, что он работает, запустив сервер postgres

postgres -D /usr/local/var/postgres

затем следующие команды (которые вызывали у меня ту же ошибку, что и у вас) все работали:

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

найти / - name ' postgresql.conf'

netstat-an / grep 5432 # = > /tmp/.С. Список pgsql.5432

ви /пользователи/админ/библиотеки/application поддержки/Postgres93/ВАР/с PostgreSQL.conf

от: unix_socket_directories = '/ tmp'

TO: unix_socket_directories = '/var / pgsql_socket'

sudo mkdir/var / pgsql_socket

sudo chmod 777/var / pgsql_socket

У меня была эта проблема. Один из комментариев здесь помог мне решить эту проблему.

Спасибо, этот ответ помог мне это исправить. Шаги, которые я предпринял, были просты: 1) gem uninstall pg, 2) Установка пакета, готово. - haslo Dec 3 ' 13 at 20: 27

gem uninstall pg
bundle install

для Heroku это все, что вам нужно.

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

Так как это был первый пост, который появился в моем результате поиска, я решил опубликовать обновленное исправление для этого. Поскольку ни одно из вышеперечисленных предложений не сработало для меня.

brew postgresql-upgrade-database

он обновляет данные postgresql и перемещает мою старую версию. Я был на 9.6 вместо 10.4

нашел решение здесь

У меня просто была проблема, что приложение postgres не работает на моем mac...

на Mac у меня были разные версии postgresql. Эта проблема была решена, когда я пробовал brew switch postgresql 9.5.5 (Я не думаю, что номер версии имеет значение на данный момент)

$ 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

все данные исчезнут, кстати. Я думаю, что есть команда brew для этого без переключения версии, которую я не мог найти.

У меня была такая же проблема на OS High sierra 10.13 Я следовал инструкциям с этого сайта я скачал версию 10.4 ref:https://postgresapp.com/

затем я добавил Это в профиль bash: export PATH=$PATH: / Library / PostgreSQL/10.4 / bin:$PATH

повторно запустить терминал.

откройте новый оконный терминал и введите: psql-U postgres

после этого вы увидите это сообщение: psql (10.4) Тип "справка" для помощь.

postgres=#

моя проблема была в том, что /etc/hosts файл изменился и не имел этой важной записи:127.0.0.1 localhost

    Ничего не найдено.

Добавить ответ:
Отменить.