FATAL: аутентификация по паролю не удалась для пользователя "postgres" версия 11 - PullRequest
0 голосов
/ 29 апреля 2020

Я посмотрел на похожие вопросы и попробовал такие методы, как редактирование файла 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.

Будет обновляться при любом дальнейшем прогрессе.

ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: Простой рейк дБ: сброс исправил эту новую ошибку! Кажется, теперь все в порядке

1 Ответ

1 голос
/ 30 апреля 2020

Попробуйте установить POSTGRESS_PASSWORD (или PGPASSWORD, ссылаясь на переменную окружения docs ) и использовать ее значение в качестве пароля в файле config/database.yml.

Также делитесь своими config/database.yml файл поможет.

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

Редактировать: Также попробуйте запустить rake db:reset после выполнения это меняется.

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