PostgreSQL 用の軽量接続プーラー。
ホームページ: https://www.pgbouncer.org/
ソース、バグ追跡: https://github.com/pgbouncer/pgbouncer
PgBouncer はコンパイルされるためにいくつかのことに依存します。
依存関係がインストールされたら、次を実行するだけです。
$ ./configure --prefix=/usr/local
$ make
$ make install
Git からビルドしている場合、または Windows 用にビルドしている場合は、以下の別のビルド手順を参照してください。
PgBouncer は、構成ロード時に 1 回だけではなく、接続時にホスト名の検索を実行します。これには、非同期 DNS の実装が必要です。次の表は、サポートされているバックエンドとそのプローブ順序を示しています。
バックエンド | 平行 | EDNS0 (1) | /etc/ホスト | SOA ルックアップ (2) | 注記 |
---|---|---|---|---|---|
シーアレス | はい | はい | はい | はい | <=1.10 での IPv6+CNAME のバグ |
evdns、libevent 2.x | はい | いいえ | はい | いいえ | /etc/hosts の更新をチェックしません |
getaddrinfo_a、glibc 2.9+ | はい | はい(3) | はい | いいえ | 非glibcでは該当なし |
getaddrinfo、libc | いいえ | はい(3) | はい | いいえ | pthread が必要です |
options edns0
/etc/resolv.conf
に追加します。c-ares は最も完全な機能を備えた実装であり、ほとんどの用途とバイナリ パッケージ化 (十分に新しいバージョンが利用可能な場合) に推奨されます。 Libevent の組み込み evdns も、リストされている制限付きで、多くの用途に適しています。他のバックエンドは、現時点ではほとんどがレガシー オプションであり、あまりテストを受けていません。
デフォルトでは、c-ares が見つかった場合はそれが使用されます。この使用は、 configure --with-cares
で強制するか、 --without-cares
で無効にすることができます。 c-ares が使用されない (見つからないか無効になっている) 場合は、Libevent が使用されます。 --disable-evdns
を指定すると、Libevent の evdns の使用が無効になり、libc ベースの実装にフォールバックします。
PAM 認証を有効にするために、 ./configure
は--with-pam
フラグがあります (デフォルト値は no)。 PAM サポートを使用してコンパイルすると、新しいグローバル認証タイプpam
使用して、PAM を通じてユーザーを検証できます。
systemd 統合を有効にするには、 configure
オプション--with-systemd
を使用します。これにより、 Type=notify
(systemd 253 以降を使用している場合はType=notify-reload
) の使用とソケットのアクティブ化が可能になります。例については、 etc/pgbouncer.service
およびetc/pgbouncer.socket
を参照してください。
Git から PgBouncer をビルドするには、 configure
実行する前に、 libusual および uthash サブモジュールをフェッチし、ヘッダーと構成ファイルを生成する必要があります。
$ git clone https://github.com/pgbouncer/pgbouncer.git
$ cd pgbouncer
$ git submodule init
$ git submodule update
$ ./autogen.sh
$ ./configure
$ make
$ make install
デフォルトでは、すべてのファイルは/usr/local
にインストールされます。 configure
ために 1 つ以上のコマンドライン オプションを指定できます。 ./configure --help
を実行して、使用可能なオプションと構成をカスタマイズする環境変数をリストします。
必要な追加パッケージ: autoconf、automake、libtool、pandoc
テストの実行方法については、test ディレクトリ内のREADME.md
ファイルを参照してください。
Windows 上でサポートされているビルド環境は MinGW のみです。 Cygwin と Visual $ANYTHING はサポートされていません。
MinGW 上に構築するには、通常の手順を実行します。
$ ./configure
$ make
Unix からクロスコンパイルする場合:
$ ./configure --host=i586-mingw32msvc
コマンド ラインからの実行は通常どおりに行われますが、 -d
(デーモン化)、 -R
(再起動)、および-u
(ユーザーの切り替え) スイッチは機能しません。
PgBouncer を Windows サービスとして実行するには、 service_name
パラメーターを構成してサービスの名前を設定する必要があります。それから:
$ pgbouncer -regservice config.ini
サービスをアンインストールするには:
$ pgbouncer -unregservice config.ini
Windows イベント ログを使用するには、構成ファイルでsyslog = 1
を設定します。ただし、その前に、 pgbevent.dll
登録する必要があります。
$ regsvr32 pgbevent.dll
登録を解除するには、次のようにします。
$ regsvr32 /u pgbevent.dll