此 pgbouncer.ini 设置无法启动 pgbouncer:
[databases]
mydb = host=127.0.0.1 port=5432 dbname=mydb
[pgbouncer]
listen_port = 6432
listen_addr = 127.0.0.1
auth_type = md5
auth_file = userlist.txt
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
admin_users = someuser
没有生成 pid 文件,没有创建日志文件。没有进程正在运行(ps aux | grep pgbouncer
)。
但如果设置logfile
为pidfile
:
logfile = pgbouncer.log
pidfile = pgbouncer.pid
pgbouncer 可以通过 run 启动pgbouncer -d pgbouncer.ini
。它将在同一路径创建日志文件和 pid 文件pgbouncer.ini
。
我正在使用普通用户这样做。
要么您没有权限以
/var/log/pgbouncer
您正在运行的用户身份写入,要么该目录不存在并且 pgbouncer 没有或无法创建它。第三种可能性是该目录的权限过于宽松,但我认为 pgbouncer 不会检查这一点。