Mais de um postgresql na mesma máquina? Claro que dá! #1
Não é novidade que não sou fã de virtualização. O meu ponto é: prefiro administrar uma máquina ao invés de N + 1 (N máquinas com os serviços + 1 host system).
Só que colocar vários serviços em uma máquina só não é sempre fácil, principalmente quando é o mesmo serviço. Colocar um banco e um apache na mesma máquina é fácil. O mesmo vale para um MySQL e um Postgresql. O complicado é colocar 2 apaches, 2 MySQLs, 2 Postgresql, etc. no mesmo servidor, já que eles irão concorrer por muitas coisas: arquivos de configuração, portas do sistema, memória, disco, etc.
Aqui mostrarei como configurar dois Postgresql na mesma máquina (Fedora) da maneira mais integrada possível com o sistema operacional. Não entrarei em detalhes sobre a memória e outras confs básicas do PG.
Dois Postgresql escutando em portas diferente
Essa configuração é a mais fácil de todas, porém mostra o conceito básico e será a base para outras configurações.
No Fedora, o script de serviço do postgresql sempre lê um arquivo caso exista. É o /etc/sysconfig/pgsql/postgresql. Mas não é só isso, ele lê o arquivo de configuração baseado no nome dele. Se o nome do script de serviço for postgresql-2, ele procurará o arquivo /etc/sysconfig/pgsql/postgresql-2. Agora ficou fácil fazer a configuração:
ln -s /etc/init.d/postgresql /etc/init.d/postgresql-2
cat <<EOF >> /etc/sysconfig/pgsql/postgresql-2
PGDATA=/srv/pgsql-8.2
PGPORT=5433
PGLOG=/srv/pgsql-8.2/pgstartup.log
EOF
chkconfig --level 345 postgresql-2 on
service postgresql-2 inittb
Agora é só configurar o /srv/pgsql-8.2/postgresql.conf e iniciar o serviço. Não será necessário descomentar a porta já que usará a 5433 como padrão.
A porta além de servir para o bind do serviço para rede, também é necessária para uso local. O PG cria um unix socket e coloca a porta no nome: /tmp/.s.PGSQL.5433, então para conectar sempre será necessário passar a porta com a flag -p do psql: psql -p 5433. Melhor criar um alias para facilitar a vida.
Próximo post algumas configurações mais complicadas e interessantes.
Posted at 02:49PM Abr 10, 2009 by ze in Postgresql | Comments[0]


