PgBouncer - Instalação no Debian 6.0 Squeeze
O PgBouncer, assim como o PGpool, serve para criar um pool de conexões com o PostgreSQL, a diferença é que o PgBouncer é bem mais leve e performático.
Instalando e configurando o PgBouncer
Vamos baixar as dependências, o código fonte e fazer a configuração básica.
* Atenção: Comandos iniciados com "#" devem ser executados com o usuário root, comandos iniciados com "$" devem ser executados com usuário postgres.
O PgBouncer utiliza as bibliotecas do libevent para processar as requisições. Instale as dependências do PgBouncer:
# apt-get install -y libevent-1.4-2 libevent-core-1.4-2 libevent-dev libevent-extra-1.4-2
Entre no diretório onde o PgBouncer será instalado:
# cd /usr/local/src/
Baixe o código fonte:
# wget http://pgfoundry.org/frs/download.php/3393/pgbouncer-1.5.4.tar.gz
Descompacte o arquivo:
# tar zxvf pgbouncer-1.5.4.tar.gz
Entre no diretório descompactado:
# cd pgbouncer-1.5.4
Configure o PgBouncer para compilação:
# ./configure --prefix=/usr/local/pgbouncer
Compile:
# make
E instale:
# make install
Vamos agora criar o diretório dos arquivos de configuração:
# mkdir /etc/pgbouncer
Copie os arquivos de configuração modelo que estão no diretório onde foi instalado o PgBouncer para o diretório que você acabou de criar:
# cp /usr/local/pgbouncer/share/doc/pgbouncer/pgbouncer.ini /etc/pgbouncer/
# cp /usr/local/pgbouncer/share/doc/pgbouncer/userlist.txt /etc/pgbouncer/
Agora vamos configurar o PgBouncer, abra o arquivo /etc/pgbouncer/pgbouncer.ini. Abaixo da tag "[databases]", adicione a seguinte linha:
Em "listen_addr", altere de: 127.0.0.1 para: *
A linha deverá ficar assim:
Em "auth_type", altere de trust para: md5
A linha deverá ficar assim:
Logo abaixo, adicione a seguinte linha para que você possa conectar ao "pseudobanco" de administração do PgBouncer:
Vamos agora configurar os acessos. Abra o arquivo /etc/pgbouncer/userlist.txt (caso haja alguma linha nele, exclua todas) e adicione a seguinte linha:
Crie o diretório onde vão ficar os logs do PgBouncer:
# mkdir /var/log/pgbouncer/
Crie o arquivo de log:
# touch /var/log/pgbouncer/pgbouncer.log
Ajuste as permissões do diretório para o usuário postgres:
# chown -R postgres. /var/log/pgbouncer/
Vamos criar o diretório do PID:
# mkdir /var/run/pgbouncer/
Ajuste as permissões do diretório para o usuário postgres:
# chown -R postgres. /var/run/pgbouncer/
* Atenção: Comandos iniciados com "#" devem ser executados com o usuário root, comandos iniciados com "$" devem ser executados com usuário postgres.
O PgBouncer utiliza as bibliotecas do libevent para processar as requisições. Instale as dependências do PgBouncer:
# apt-get install -y libevent-1.4-2 libevent-core-1.4-2 libevent-dev libevent-extra-1.4-2
Entre no diretório onde o PgBouncer será instalado:
# cd /usr/local/src/
Baixe o código fonte:
# wget http://pgfoundry.org/frs/download.php/3393/pgbouncer-1.5.4.tar.gz
Descompacte o arquivo:
# tar zxvf pgbouncer-1.5.4.tar.gz
Entre no diretório descompactado:
# cd pgbouncer-1.5.4
Configure o PgBouncer para compilação:
# ./configure --prefix=/usr/local/pgbouncer
Compile:
# make
E instale:
# make install
Vamos agora criar o diretório dos arquivos de configuração:
# mkdir /etc/pgbouncer
Copie os arquivos de configuração modelo que estão no diretório onde foi instalado o PgBouncer para o diretório que você acabou de criar:
# cp /usr/local/pgbouncer/share/doc/pgbouncer/pgbouncer.ini /etc/pgbouncer/
# cp /usr/local/pgbouncer/share/doc/pgbouncer/userlist.txt /etc/pgbouncer/
Agora vamos configurar o PgBouncer, abra o arquivo /etc/pgbouncer/pgbouncer.ini. Abaixo da tag "[databases]", adicione a seguinte linha:
* = port=5432 user=postgres host=127.0.0.1
Em "listen_addr", altere de: 127.0.0.1 para: *
A linha deverá ficar assim:
listen_addr = *
Em "auth_type", altere de trust para: md5
A linha deverá ficar assim:
auth_type = md5
Logo abaixo, adicione a seguinte linha para que você possa conectar ao "pseudobanco" de administração do PgBouncer:
admin_users = postgres
Vamos agora configurar os acessos. Abra o arquivo /etc/pgbouncer/userlist.txt (caso haja alguma linha nele, exclua todas) e adicione a seguinte linha:
"postgres" "[senha_do_usuario_postgres]"
Crie o diretório onde vão ficar os logs do PgBouncer:
# mkdir /var/log/pgbouncer/
Crie o arquivo de log:
# touch /var/log/pgbouncer/pgbouncer.log
Ajuste as permissões do diretório para o usuário postgres:
# chown -R postgres. /var/log/pgbouncer/
Vamos criar o diretório do PID:
# mkdir /var/run/pgbouncer/
Ajuste as permissões do diretório para o usuário postgres:
# chown -R postgres. /var/run/pgbouncer/