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