Pool de Conexões Transparentes no Postgres usando o pgpool

Tendo em vista um ambiente híbrido entre as tecnologias PHP, Java e como banco de dados o Postgres, a solução indicada
foi a utilização de um Pool de Conexões transparente utilizando, como ferramenta, o MIDlet pgpool. Esta solução de Pool
de Conexões, serve para qualquer tipo de linguagem, principalmente quando se trata de ambientes híbridos (quando se é
utilizado N linguagens de programação).

[ Hits: 28.374 ]

Por: LunodeSouza em 02/04/2012 | Blog: https://br.linkedin.com/in/lunodesouza


Instalação e Configuração



Instalando o pgpool II

Este artigo foi elaborado utilizando um ambiente com base no sistema operacional Arch Linux, Release: 2011.08.19, mas como instalaremos a partir do código fonte, não teremos grandes problemas com outras distribuições Linux.

- Requisitos:
  • pgpool II 3.1.1;
  • PostgreSQL;
  • Apache Web Server;
  • php 5;
  • Wordpress (para teste).

- Vantagens do Pool de conexões:
  • 'Aglomeração' de conexões mantidas com o PostgreSQL;
  • Conexão de forma transparente;
  • Para a aplicação, o Pgpool é o próprio PostgreSQL;
  • Para o PostgreSQL o Pgpool é um cliente comum;
  • Não há necessidade de alterações na aplicação;
  • Redução do Overhead causado pelo Fork de processos;
  • Controle do número de conexões e tamanho do pool;
  • Caso as requisições ultrapassem o tamanho do pool, uma fila de requisições é criada.

- Instalação:

A instalação do pgpool II, será feita de forma objetiva, a partir dos pacotes oficiais disponibilizados no site do Projeto.

- Passos:

wget -c http://www.pgpool.net/download.php? f=pgpool-II-3.1.1.tar.gz
tar xvzf pgpool-II-3.1.1.tar.gz
$ cd pgpool-II-3.1.1
$ ./configure
$ make
$ make install
$ make clean


Caso o comando 'configure', apresente o erro:
configure: error: libpq is not installed or libpq is old

Isto é devido ao Script de configuração procurar o banco de dados em “/usr/local/pgsql”.

Então, se o banco de dados estiver localizado em um local personalizado, deverá adicionar os seguintes parâmetros para o Script 'configure', informando os diretórios de trabalho do Postgres:

$ ./configure \
--with-pgsql /local/do/portgres \
–with-pgsql-libdir /postgre/lib


Por padrão, o 'pgpool' será instalado no diretório “/usr/local”.

Configurando o pgpool II

Tendo o 'pgpool' instalado, vamos à configuração.

Os arquivos de configuração pós-instalação, estão dentro de “/usr/local/etc”.

Vamos fazer uma cópia da configuração de exemplo, e iremos configurar:

cd /usr/local/etc
$ mv pgpool.conf.sample pgpool.conf
$ vim pgpool.conf


Dentre as configurações possíveis no “pgpool.conf”, nós iremos configurar os seguintes parâmetros com as devidas modificações:

----------------------------------------------------------------------------------------------------
|PostgreSQL version       | reset_query_list value                                                 |
----------------------------------------------------------------------------------------------------
| 7.1 or before           | ABORT                                                                  |
| 7.2 to 8.2              | ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT                    |
| 8.3 or later            | ABORT; DISCARD ALL                                                     |
----------------------------------------------------------------------------------------------------
+ "ABORT" is not issued when not in a transaction block for 7.4 or later.
    Próxima página

Páginas do artigo
   1. Instalação e Configuração
   2. Utilização e Teste
Outros artigos deste autor

Postfix fazendo relay SMTP do Gmail/Google Apps

Leitura recomendada

PostgreSQL: comandos básicos

Replicando banco de dados PostgreSQL

Sincronizando Dados do PostgreSQL no Elasticsearch

Como migrar banco de dados MySQL para PostgreSQL

Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha

  
Comentários
[1] Comentário enviado por remontti em 02/04/2012 - 10:25h

Parabéns!
Ótimo tuto man! Continue compartilhando! o/

[2] Comentário enviado por senger em 19/02/2014 - 11:05h

Olá

A respeito do erro configure: error: libpq is not installed or libpq is old, pra mim não adiantou mudar a pasta através da configuração do --with-pgsql pois o pg_config já estava correto, mas eu consegui corrigir instalando o libdb-dev, então pra quem precisar, somente a instalação abaixo pra mim funcionou.


$ apt-get install libdb-dev


Mas o tutorial foi bem útil, obrigado!

[3] Comentário enviado por lunodesouza em 19/02/2014 - 11:22h

Obrigado por sua contribuição Senger :D


[2] Comentário enviado por senger em 19/02/2014 - 11:05h:

Olá

A respeito do erro configure: error: libpq is not installed or libpq is old, pra mim não adiantou mudar a pasta através da configuração do --with-pgsql pois o pg_config já estava correto, mas eu consegui corrigir instalando o libdb-dev, então pra quem precisar, somente a instalação abaixo pra mim funcionou.


$ apt-get install libdb-dev


Mas o tutorial foi bem útil, obrigado!




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts