How many times can you spot the letter s in:
Q: Проблема с миграцией базы данных на postgres При создании базы возникает следующая ошибка:
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:


A: Локально можно настроиться на работу по peer athentication, но для этого в базе данных должен быть пользователь с таким же именем, какой у подключающегося логин в операционной системе. Для разработки это можно настроить максимально быстро на чистом дистрибутиве.
Чтобы ActiveRecord подключался, удостоверяясь только с помощью учётной записи подключающегося через Unix domain socket, то надо убрать логин, пароль и хост из настроек подключения. Совсем. А сделать себя суперпользователем в БД на свежеустановленном PostgreSQL (когда пользователь там всего один, postgres) можно в одну команду:
sudo -u postgres createuser --superuser $(whoami)

\______________/ \______________________________/
  Притворившись    Создать суперпользователя с
   postgres      именем, выведенным командой whoami

А дальше обычное rake db:create и прочее.
Плюсов у такого подхода хватает:


*

*Работает с настройками по умолчанию: установил, сделал себя-администратора и вперёд

*Учётные данные ни в какой момент не существуют в рабочем дереве


На боевом сервере так делать не стоит, но это уже совсем другая история...

A: Замените в конфигурационном файле pg_hba.conf метод аутентификации, вместо аутентификации по системным учетным записям
local all postgres peer

укажите аутентификацию по паролю
local all postgres md5


user
I found 48 "s"s in the provided passage.
assistant