puppetdb 6.3.3 无法连接到 postgresql-11

puppetdb 6.3.3 无法连接到 postgresql-11

semanage 确认我的主机正在宽容模式下运行。

当我不使用这样的密码时,我可以以用户 puppetdb 的身份登录 postgresql:

[msk@puppet ~]$ su - postgres Password: Last login: Fri Jun 21 14:19:01 EDT 2019 on pts/1 bash-4.2$ psql -d puppetdb -U puppetdb psql: FATAL: Peer authentication failed for user "puppetdb"

netstat -tlpn |grep 邮政局长节目
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 22948/postmaster

我在 /var/log/puppetlabs/puppetdb/puppetdb.log 中看到的错误有数百个:

Pool - Connection is not available, request timed out after 3012ms.
2019-06-21T13:36:50.267-04:00 ERROR [p.p.c.services] Will retry database connection after temporary failure: java.sql.SQLTransientConnectionException: PDBMigrationsPool - Connection is not available, request timed out after 3000ms.

/var/lib/pgsql/11/data/pg_hba.conf 包含:

local   all             all                                     peer
host    all             all             127.0.0.1/32            ident
host    puppetdb        puppetdb        127.0.0.1/32            peer

postgresql-Fri.log 充满了

FATAL: remaining connection slots are reserved for non-replication superuser connections

谢谢任何线索。

答案1

PuppetDB 无法连接到数据库。首先检查database.ini文件,可能位于:/etc/puppetlabs/puppetdb/conf.d/database.ini。它应该包含类似以下内容:

classname = org.postgresql.Driver
subprotocol = postgresql
subname = //localhost:5432/puppetdb
username = puppetdb
conn-max-age = 60
conn-keep-alive = 45
conn-lifetime = 0

确保在 PostgreSQL 实例中设置适当数量的连接,即postgresql.conf

max_connections = 64

重新启动 PostgreSQL。

现在以puppetdb用户身份验证连接是否有效:

su - puppetdb -s /bin/sh -c "psql -h localhost puppetdb"

如果您使用 SSL,请务必检查PostgreSQL SSL 指南

当调试数据库问题时,状态端点可能会有用:

curl -X GET http://localhost:8080/status/v1/services | jq .

答案2

/var/lib/pgsql/11/data/pg_hba.conf 希望将此行添加到其顶部。

主机 puppetdb puppetdb ::1/24 信任

我忘了发布这个问题了。谢谢你的帮助 :)

相关内容