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"
14 ответов:
попробуйте добавить
host: localhostв базу данных.в формате YML. (На основе: https://stackoverflow.com/a/10793186/919641)
код
Pggem был скомпилирован против 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
у меня была такая же проблема на 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
нашел решение здесь
на 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
Comments