接続プールの背後にある考え方は、利用可能なすべてのリソースを使用するのに十分な接続があり、データベース接続を切断したり、新しい接続を使用する準備をしたりすることなく、着信要求を再利用することです。
pgbouncerは軽量の接続プールです。 pgBouncerは、接続ごとにプロセスを生成するのではなく、単一のプロセスとして実行されます。接続プールは、libeventという名前のライブラリに依存します。
PostgreSQL 9.0でのpgbouncerのセットアップは非常に簡単ですが、手動のpg_authファイルを作成する必要がある最新バージョンではわずかな変更があります。 pgbouncerは、ユーザー認証にpg_authファイルを使用します。 PostgreSQL 9.0の以前のバージョンでは、pg_authファイルは$ PGDATA / global / pg_authにありますが、最新バージョンでは、そのファイルは削除され、テーブル「pg_auth」としてpg_catalogに配置されています。
pgbouncerの設定:
1。 まず、pgbouncerのlibeventライブラリをダウンロードします。
libeventのダウンロードリンク:
http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
tar -xvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure
make
make install
2。 最新のpgbouncertarをダウンロードし、PostgreSQL9.0に設定します。
http://pgfoundry.org/frs/download.php/2912/pgbouncer-1.4.tgz
tar -xvf pgbouncer-1.4
cd pgbouncer-1.4
./configure --prefix=/opt/PostgreSQL/9.0/bin
make
make install
3。 /etc/ld.so.conf.dディレクトリにlibevent-i386.confファイルを作成します
vi /etc/ld.so.conf.d/libevent-i386.conf
/usr/local/lib
:wq!
4。 ldconfigを実行して、新しい変更を適用します。
#ldconfig
5。 PostgreSQLバイナリのpgbouncerユーティリティの所有権をpostgresユーザーに変更します。
chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer
6。 ユーザー認証用のpgbouncer_authファイルを作成します。
7。 /etcディレクトリの下にpostgresユーザー権限でpgbouncer.iniファイルを作成します。
8。 pgbouncerを起動します
-bash-4.1$ ./pgbouncer -d /etc/pgbouncer.ini
2011-08-14 11:42:00.925 1949 LOG File descriptor limit: 1024 (H:1024), max_client_conn: 1000, max fds possible: 1010
9。 pgbouncerを使用してデータベースに接続します
10。 ヘルプの取得:pgbouncerデータベースに接続して、ヘルプを取得します。
$ psql -p 6432 -U postgres pgbouncer
pgbouncer=# show help;
pg_authの理解を深めるには、以下のリンクの「depesz」を参照してください。
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer /
高く評価されているコメントを投稿してください。