Я не использую Докер.
Я установил PostgreSQL 11 и создал пользователя kong
который владеет базой данных kong
. В том же ящике linux я установил Kong, и я пытаюсь заставить его подключиться к БД, используя эти инструкции.
Вот отрывок из kong.conf:
database = postgres
pg_host = 127.0.0.1
pg_port = 5432
pg_timeout = 5000
pg_user = kong
pg_password = Passw0rd!
pg_database = kong
Также по этот, Я изменил pg_hba.conf, включив в него:
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
Тем не менее, когда я это сделаю:
kong migrations bootstrap -c /etc/kong/kong.conf
Я получил:
Error: [PostgreSQL error] failed to retrieve server_version_num: FATAL: Ident authentication failed for user "kong"
Я убедился, что у PostgreSQL такой же пароль для kong
это находится в kong.conf.
Что мне не хватает?
Все заработало. Две вещи:
По совету @ DanielVérité я переместил свои методы доверия в начало страницы pg_hba.conf. Это потому, что он отметил, что первое совпадение - это то, с чем идет PostgreSQL.
В kong.conf я думал, что указал pg_host = 127.0.0.1
, но я бы фактически поместил туда имя хоста. Изменил его обратно на 127.0.0.1
и теперь это работает.
Я надеюсь, что это поможет кому-то в будущем.