Kong 无法连接到 PostgreSQL
Kong won't connect to PostgreSQL
我没有使用 Docker。
我已经安装了 PostgreSQL 11 并创建了一个拥有数据库 kong
的用户 kong
。在同一个 linux 盒子上,我安装了 Kong,并试图使用 these instructions.
让它连接到数据库
这是来自 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
此外,根据 this,我修改了 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é 在 Server Fault 上的建议,我将我的信任方法移到了 pg_hba.conf 上的顶部。这是因为他注意到第一个匹配项是 PostgreSQL 的匹配项。
在 kong.conf 中,我以为我指定了 pg_host = 127.0.0.1
,但我实际上将主机名放在那里。将其改回 127.0.0.1
,现在可以使用了。
我希望这对以后的人有所帮助。
在我的例子中,我只是在 values.yaml 中评论了“pg_host”,然后我用“kubectl describe pod ..”发现正确的主机名是“kong-postgresql”。 =12=]
我的 pod 卡在初始化容器“wait fod db”中,因为它无法连接。现在可以使用了...
我没有使用 Docker。
我已经安装了 PostgreSQL 11 并创建了一个拥有数据库 kong
的用户 kong
。在同一个 linux 盒子上,我安装了 Kong,并试图使用 these instructions.
这是来自 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
此外,根据 this,我修改了 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é 在 Server Fault 上的建议,我将我的信任方法移到了 pg_hba.conf 上的顶部。这是因为他注意到第一个匹配项是 PostgreSQL 的匹配项。
在 kong.conf 中,我以为我指定了
pg_host = 127.0.0.1
,但我实际上将主机名放在那里。将其改回127.0.0.1
,现在可以使用了。
我希望这对以后的人有所帮助。
在我的例子中,我只是在 values.yaml 中评论了“pg_host”,然后我用“kubectl describe pod ..”发现正确的主机名是“kong-postgresql”。 =12=]
我的 pod 卡在初始化容器“wait fod db”中,因为它无法连接。现在可以使用了...