web-dev-qa-db-ja.com

起動時にpgbouncerを起動する

私はpgbouncerをインストールして設定しましたが、このコマンドを使用することによってのみ起動します

pgbouncer /etc/pgbouncer/pgbouncer.ini

ただし、サービスpgbouncer startを使用すると、開始されません。次に、この設定を使用してsuperviorを設定し、適切に機能するように管理します。

[program:pgbouncer]
command=pgbouncer /etc/pgbouncer/pgbouncer.ini
stdout_logfile=/var/log/supervisor/pg_bouncer.log
stderr_logfile=/var/log/supervisor/pg_bouncer_error.log
autostart=true
stopsignal=QUIT
redirect_stderr=true
directory=/etc/pgbouncer/
user=postgres
group=postgres
preload_app = True

システムを再起動すると、pgbouncerが機能しなくなり、pgbouncerのログを確認するとエラーが表示されます

WARNING Cannot listen on ::/6432: bind(): Address already in use
WARNING Cannot listen on unix:/var/run/postgresql/.s.PGSQL.6432: bind(): No such file or directory
FATAL @src/main.c:553 in function write_pidfile(): /var/run/pgbouncer/pgbouncer.pid: No such file

そして監督者のログを調べると、これはそれが言っていることです

LOG File descriptor limit: 1024 (H:4096), max_client_conn: 100, max fds possible: 130
LOG listening on 0.0.0.0:6432
WARNING Cannot listen on ::/6432: bind(): Address already in use
WARNING Cannot listen on unix:/var/run/postgresql/.s.PGSQL.6432: bind(): No such file or directory
FATAL @src/main.c:553 in function write_pidfile(): /var/run/pgbouncer/pgbouncer.pid: No such file or directory

これを手伝ってくれる人はいますか

3
user1940979

私のpidfileを/ var/runに入れていたことがわかりましたが、サーバーを再起動するとファイルが削除され、pgbouncerがファイルを見つけられず、このエラーが発生します

FATAL @src/main.c:553 in function write_pidfile(): /var/run/pgbouncer/pgbouncer.pid: No such file or directory

したがって、ファイルを別の場所に移動し、ディレクトリを変更するだけで十分でした。

$ Sudo mkdir ~/pgbouncer
$ Sudo chown -R postgres:postgres ~/pgbouncer
3
user1940979

あなたのポートが奪われた場合、あなたはいつでもあなたのポートを占有しているものをチェックすることができます

Sudo lsof -i -P -n | grep 6432

私の場合、私はすでにpboucnerを実行していたので、これを見つけました

pgrep pbouncer
0
sobi3ch