Configuring pgbouncer¶
TPAは、role にpgbouncer
が含まれるインスタンスにpgbouncerをインストールして構成します。
デフォルトでは、pgbouncerはポート6432で接続をリッスンし、接続を127.0.0.1:5432
(アーキテクチャに応じてPostgresまたは Configuring haproxy のいずれか)に転送します。
pgbouncer インスタンスで次の変数を設定できます。
Variable |
Default value |
Description |
|---|---|---|
pgbouncer_port |
6432 |
pgbouncerがリッスンするTCPポート |
pgbouncer_backend |
127.0.0.1 |
接続するPostgresサーバー |
pgbouncer_backend_port |
5432 |
`pgbouncer_backend`がリッスンするポート |
pgbouncer_max_client_conn |
`max_connections`×0.9 |
許可される接続の最大数。可能であれば、デフォルトはバックエンドの`max_connections`設定から派生します |
pgbouncer_auth_user |
pgbouncer_auth_user |
認証に使用するPostgresユーザー |
データベース¶
デフォルトでは、TPAは[databases] の下に単一のワイルドカード*
エントリを使用して/etc/pgbouncer/pgbouncer.databases.ini
を生成し、すべての接続をバックエンドサーバーに転送します。以下の例に示すようにpgbouncer_databases
を設定して、データベース構成を変更できます。
認証¶
PgBouncerはpgbouncer_auth_user
としてPostgresに接続し、(構成済み) auth_query
を実行してユーザーを認証します。
例¶
instances:
- Name: one
vars:
max_connections: 300
- Name: two
- Name: proxy
role:
- pgbouncer
vars:
pgbouncer_backend: one
pgbouncer_databases:
- name: dbname
options:
pool_mode: transaction
dbname: otherdb
- name: bdrdb
options:
host: two
port: 6543