#ruby_on_rails #postgresql
При создании базы возникает следующая ошибка: andrey@asus:~/project/odnogrupniki$ rake db:create:all FATAL: Peer authentication failed for user "odnogrupniki" логи целиком: ТУТ databse.yml: default: &default adapter: postgresql encoding: unicode pool: 5 timeout: 5000 username: 'odnogrupniki' password: '1111' development: <<: *default database: odnogrupniki test: <<: *default database: odnogrupniki_test production: <<: *default database: odnogrupniki_production в Gemfile добавлял: gem 'pg' Bundle - выполнял andrey@asus:~/project/odnogrupniki$ psql --version psql (PostgreSQL) 9.5.1 Пользователя создавал так: postgres@asus:/home/andrey/project/odnogrupniki$ createuser odnogrupniki -P -S -R -D Enter password for new role: Enter it again:
Ответы
Ответ 1
Локально можно настроиться на работу по peer athentication, но для этого в базе данных должен быть пользователь с таким же именем, какой у подключающегося логин в операционной системе. Для разработки это можно настроить максимально быстро на чистом дистрибутиве. Чтобы ActiveRecord подключался, удостоверяясь только с помощью учётной записи подключающегося через Unix domain socket, то надо убрать логин, пароль и хост из настроек подключения. Совсем. А сделать "себя" суперпользователем в БД на свежеустановленном PostgreSQL (когда пользователь там всего один, postgres) можно в одну команду: sudo -u postgres createuser --superuser $(whoami) \______________/ \______________________________/ Притворившись Создать суперпользователя с postgres именем, выведенным командой whoami А дальше обычное rake db:create и прочее. Плюсов у такого подхода хватает: Работает с настройками по умолчанию: установил, сделал себя-администратора и вперёд Учётные данные ни в какой момент не существуют в рабочем дереве На "боевом" сервере так делать не стоит, но это уже совсем другая история...Ответ 2
Замените в конфигурационном файле pg_hba.conf метод аутентификации, вместо аутентификации по системным учетным записям local all postgres peer укажите аутентификацию по паролю local all postgres md5
Комментариев нет:
Отправить комментарий