PgBouncer не слушает без ошибок в журналах

В настоящее время на моем сервере работает Postgres, и я хочу перейти к пулу соединений. Оглядываясь вокруг, PgBouncer кажется лучшим инструментом. Я настроил его, и он утверждает, что все в порядке с файлом журнала, похожим на

[databases]
xxxx = host=localhost port=5432 dbname=xxxx user=xxx
[pgbouncer]

logfile = /var/log/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid

listen_addr = *
listen_port = 6434

auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt

admin_users = postgres

stats_users = stats, postgres

pool_mode = session

server_reset_query = DISCARD ALL

max_client_conn = 100

default_pool_size = 20

И список пользователей:

"xxx" "xxxxx"

который начинается без каких-либо ошибок. Журнальный файл:

DEBUG parse_ini_file: 'logfile' = '/var/log/pgbouncer.log' ok:1
DEBUG parse_ini_file: 'pidfile' = '/var/run/pgbouncer/pgbouncer.pid'
DEBUG parse_ini_file: 'pidfile' = '/var/run/pgbouncer/pgbouncer.pid' ok:1
DEBUG parse_ini_file: 'listen_addr' = '*'
DEBUG parse_ini_file: 'listen_addr' = '*' ok:1
DEBUG parse_ini_file: 'listen_port' = '6434'
DEBUG parse_ini_file: 'listen_port' = '6434' ok:1
DEBUG parse_ini_file: 'auth_type' = 'trust'
DEBUG parse_ini_file: 'auth_type' = 'trust' ok:1
DEBUG parse_ini_file: 'auth_file' = '/etc/pgbouncer/userlist.txt'
DEBUG parse_ini_file: 'auth_file' = '/etc/pgbouncer/userlist.txt' ok:1
DEBUG parse_ini_file: 'admin_users' = 'postgres'
DEBUG parse_ini_file: 'admin_users' = 'postgres' ok:1
DEBUG parse_ini_file: 'stats_users' = 'stats, postgres'
DEBUG parse_ini_file: 'stats_users' = 'stats, postgres' ok:1
DEBUG parse_ini_file: 'pool_mode' = 'session'
DEBUG parse_ini_file: 'pool_mode' = 'session' ok:1
DEBUG parse_ini_file: 'server_reset_query' = 'DISCARD ALL'
DEBUG parse_ini_file: 'server_reset_query' = 'DISCARD ALL' ok:1
DEBUG parse_ini_file: 'max_client_conn' = '100'
DEBUG parse_ini_file: 'max_client_conn' = '100' ok:1
DEBUG parse_ini_file: 'default_pool_size' = '20'
DEBUG parse_ini_file: 'default_pool_size' = '20' ok:1
LOG File descriptor limit: 1024 (H:4096), max_client_conn: 100, max fds possible: 130
DEBUG pktbuf_dynamic(128): 0xa451c0
DEBUG make_room(0xa451c0, 9): realloc newlen=256
DEBUG pktbuf_dynamic(128): 0xa45400

Когда я воспитываю netstat -lntp он ничего не слушает на 6434 и, конечно, я не могу подключиться к нему. В одной из моих попыток и файла конфигурации он действительно запустился, и я смог подключиться к нему. Но после перезапуска сервера он больше не работает, и я сомневаюсь, что я изменил конфиг. Я пробовал разные типы аутентификации и порты без удачи.

РЕДАКТИРОВАТЬ

Поэтому я переустанавливал pgbouncer несколько раз, и он работает с моим текущим конфигом, пока я не остановлю его снова. После того, как я остановил это, я не могу начать это снова, однако я могу перезапустить это. Я запускаю команду запуска от имени пользователя root, если это может повлиять на это?

1 ответ

Похоже, проблема с разрешениями в /tmp/.s.PGSQL.6434, если это происходит при перезапуске. Убедитесь, что вы перезагружаетесь от имени того же пользователя или su - pgbounceruser -c "/usr/bin/pgbouncer -R -d /etc/pgbouncer/pgbouncer.ini", чтобы он принял новые настройки.

Другие вопросы по тегам