我没有使用 Docker。
我已经安装了 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"
kong
我已确保 PostgreSQL 具有与 kong.conf 中的相同的密码。
我错过了什么?
答案1
成功了。有两件事:
根据@DanielVérité的建议,我将信任方法移到了 pg_hba.conf 的顶部。这是因为他指出第一个匹配项是 PostgreSQL 所采用的。
在 kong.conf 中,我以为我指定了
pg_host = 127.0.0.1
,但实际上我把主机名放在那里了。将其改回127.0.0.1
,现在就可以正常工作了。
我希望这对以后的某人有所帮助。