Я посмотрел на похожие вопросы и попробовал такие методы, как редактирование файла pg_hba для доверия и выполнение ALTER USER postgres PASSWORD 'newPassword'; но ни один не работал. Я сделал перезапуск postgres после внесения таких изменений.
В контексте у меня есть веб-приложение для компании, в которой я работаю, и я пытаюсь запустить создание данных с помощью пакета команд exe c rake db: ...
Если помогает, сначала я получал сообщение об ошибке «PG :: ConnectionBad: не удалось подключиться к серверу: отказано в соединении Сервер работает на хосте« localhost »(:: 1) и принимает соединения TCP / IP через порт 5432? к серверу: соединение отклонено. Сервер работает на хосте «localhost» (127.0.0.1) и принимает соединения TCP / IP через порт 5432? «centos» «
Примечание. попытался перейти на Ubuntu, то же самое дело. Затем я пытаюсь установить PostgreSQL, поскольку до тех пор команда установки пакета только устанавливала 'pg'. Это тогда изменило сообщение об ошибке к тому, о котором этот пост. Я использую Ubuntu 19.10 на VirtualBox. Если у кого-то есть идеи, как это исправить, помощь будет принята с благодарностью; Я пытался решить эту проблему часами. Для справки: расширенное сообщение об ошибке:
bundle exec rake db:create_organization['Organization Name']
rake aborted!
PG::ConnectionBad: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `initialize'
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `new'
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `connect'
/var/lib/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:705:in `connect'
...
...
(more of the same)
...
...
/home/reeda19/dashboard/lib/tasks/onboarding/01_create_organization.rake:8:in `block (2 levels) in <top (required)>'
/var/lib/gems/2.5.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:create_organization
(See full trace by running task with --trace)
Еще раз спасибо за вашу помощь
Редактировать: файл config / database.yml:
по умолчанию: & адаптер по умолчанию: postgresql кодировка: utf8 хост: имя пользователя localhost: postgres пароль: порт пароля: 5432 переподключение: истинный пул: 10
разработка: <<: * база данных по умолчанию: dashboard_development </p>
test: <<: * база данных по умолчанию: dashboard_test </p>
подготовка: <<: * база данных по умолчанию: dashboard_staging имя пользователя: dashboard_staging хост: prod-diversitydashboard-db-01.c3zmqrgsly7w.us-east-2.rds.amazon aws .com пароль: <% = ENV ['dashboard_DATABASE_PASSWORD']%>
production: <<: * база данных по умолчанию: имя пользователя dashboard_production: dashboard_production хост: prod -iversitydashboard-db-01.c3zmqrgsly7w.us-east -2.rds.amazon aws .com пароль: <% = ENV ['dashboard_DATABASE_PASSWORD']%>
Редактировать 2: обновлен пароль пользователя postgres, чтобы он совпадал с паролем, установленным в database.yml файл с ALTER USER user_name WITH ПАРОЛЬ 'новый_пароль' ;. Я больше не получаю фатальную ошибку пароля, но вместо этого получаю эту новую ошибку:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "businesses" does not exist
LINE 8: WHERE a.attrelid = '"businesses"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"businesses"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Не уверен 100%, если это проблема именно с моей базой данных, или больше с psql.
Будет обновляться при любом дальнейшем прогрессе.
ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: Простой рейк дБ: сброс исправил эту новую ошибку! Кажется, теперь все в порядке