Ruby on Rails и Postgresql - сервер работает, но я получаю сообщение об ошибке подключения к серверу. - PullRequest
0 голосов
/ 15 марта 2019

ВОПРОС: Сервер PostgreSQL работает, но когда я запускаю rake db: migrate, я получаю ConnectionBad: не удалось подключиться к ошибке сервера.Что я могу сделать, чтобы исправить эту ошибку?

Обновление - файл Database.yml

Я удалил некоторые точки в файле для анонимности.

default: &default
  adapter: postgresql
  pool: 5
  timeout: 5000

development:
  adapter: postgresql
  encoding: unicode
  database: db_development
  pool: 5
  username: 
  password: 

test:
  adapter: postgresql
  encoding: unicode
  database: db_test
  pool: 5
  username: 
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: db_production
  pool: 5
  username: 
  password:

Я просмотрел API и попытался реализовать ответы, но у меня ничего не вышло.

Когда я запускаю pg_lsclusters, мне говорят:

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5433 online postgres /var/lib/postgresql/10/main 
/var/log/postgresql/postgresql-10-main.log

Так что в сети, я обычно запускаю сервер как sudo service postgresql start.

Однако, когда я пытаюсь запустить rake db:migrate, я получаю ошибку:

PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Я не сталкивался с этой ошибкой раньше, возможно ли, что я неправильно удалил postgresql?

Я сделал это так: sudo apt-get update sudo apt-get install postgresql postgresql-contrib libpq-dev gem install pg

И в приложении Ruby on Rails:

bundle install bundle update

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

1 Ответ

2 голосов
/ 15 марта 2019

Вам нужно добавить port: 5433 в ваш database.yml.

Порт PostgreSQL по умолчанию - 5432, но ваша команда pg_lsclusters говорит, что сервер работает на 5433. Именно поэтому Rails не можетнайти сервер, работающий на localhost: 5432.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...