Справедливо для Linux.
+ Для подключеия (чтоб не копаться в
pg_hba.conf)
Достаточно указать
host: localhost
. Например:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: tester
password: tester
host: localhost # <- здесь или по месту в development, test
development:
<<: *default
database: awesome_development
Всё дело в том, что по умолчанию используется подключение через unix-soket, а это в свою очередь не позволяет "абы-кому" подключаться к базе.
+ Права пользователя
Ну и при создании пользователя у него должны быть на это права:
CREATE ROLE username WITH LOGIN CREATEDB PASSWORD 'secret';
--- или
CREATE USER username WITH CREATEDB PASSWORD 'secret';
CREATE USER
равнохуйствененно
CREATE ROLE ... WITH LOGIN
. Куда важней:
CREATEDB
Пользователь по-умолчанию - системный пользователь.