Назад | Перейти на главную страницу

puppetdb 6.3.3 не может подключиться к postgresql-11

semanage подтверждает, что мой хост работает в разрешающем режиме.

Я могу войти в postgresql как пользователь puppetdb, если я не использую такой пароль:

[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 postmaster показывает
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

Спасибо за любые подсказки.

/var/lib/pgsql/11/data/pg_hba.conf хотел, чтобы эта строка была добавлена ​​в начало.

host puppetdb puppetdb :: 1/24 доверие

Я забыл опубликовать этот вопрос. Спасибо за помощь :)

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 .