PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Pool de conexões com o Pgbouncer no PostgreSQL 9.0

Pool de conexões, Por que optamos pelo pool de conexões no PostgreSQL?

A ideia por trás do pool de conexões é que você tenha conexões suficientes para usar todos os recursos disponíveis e todas as solicitações recebidas sejam reutilizadas sem descartar a conexão com o banco de dados e mantendo-se pronta para uma nova conexão.

pgbouncer é um pool de conexões leve. O pgBouncer é executado como um único processo, não gerando um processo por conexão, que depende da biblioteca chamada libevent para o pool de conexões.

A configuração do pgbouncer no PostgreSQL 9.0 é muito simples, porém há pequenas mudanças com a versão mais recente que você precisa para criar o arquivo pg_auth manual. O pgbouncer usa o arquivo pg_auth para autenticação do usuário. Na versão anterior do PostgreSQL 9.0, você pode encontrar o arquivo pg_auth em $PGDATA/global/pg_auth, agora na versão mais recente esse arquivo foi removido e colocado em pg_catalog como tabela ‘pg_auth’.

Configuração do pgbouncer:

1. Primeiro, baixe a biblioteca libevent para pgbouncer.
Link de download para 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. Baixe o tar mais recente do pgbouncer e configure para o seu PostgreSQL 9.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. Crie um arquivo libevent-i386.conf no diretório /etc/ld.so.conf.d
vi /etc/ld.so.conf.d/libevent-i386.conf

/usr/local/lib
:wq!

4. Execute o ldconfig para aplicar novas alterações.
#ldconfig


5. Altere a propriedade do utilitário pgbouncer no binário PostgreSQL para o usuário postgres.
chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer


6. Crie o arquivo pgbouncer_auth para autenticação de usuários.



7. Crie o arquivo pgbouncer.ini com permissão de usuário postgres no diretório /etc.



8. Iniciar 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. Conecte-se aos bancos de dados usando pgbouncer



10. Obtendo ajuda:Conecte-se ao banco de dados pgbouncer e obtenha ajuda.
$ psql -p 6432 -U postgres pgbouncer

pgbouncer=# show help;

Para melhor compreensão sobre pg_auth você pode encontrar no link abaixo por 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/

Poste seus comentários que são muito apreciados.