Справедливо для 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
Пользователь по-умолчанию - системный пользователь.