sexta-feira, 18 de setembro de 2009

Instalando e configurando o PostgreSQL 8.3 no Ubuntu 9.04


No meu ambiente de desenvolvimento, eu sempre utilizo dois bancos: o Postgres e o DB2. Basicamente devido ao fato de minha instalação de DB2 ser pesada pois tenho várias configurações de Data Warehouse e um banco muito carregado, o que torna o banco mais pesado para meu simples desktop. Então, para debugar meus softwares, vou com meu postgres levinho mesmo.

Minha idéia aqui é mostrar como instalar e configurar o PostgreSQL 8.3 no Ubuntu 9.04. As configurações são as mesmas para a instalação em Windows, a única diferença obvia é que você irá ter que ir ao site do postgres e baixar o Installer do Windows.

Vamos lá, iniciamos a instalação com o comando:

$ sudo apt-get install postgresql-8.3 postgresql-client-8.3

Recomendo também instalar o pgAdmin, que é uma ferramenta para administrar o postgres:
$ sudo apt-get install pgadmin3 pgadmin3-data

Algo que aconteceu comigo na migração para o Ubuntu 8.04, foi que tive que remover o Postgres 8.2 (apt-get purge postgresql-8.2) para conseguir iniciar o 8.3 corretamente. Se você concluir meus passos aqui e mesmo assim não conseguir conectar no Postgres, recebendo algum erro, provavelmente terá que dar o purge. (talvez com mais tempo de pesquisa eu poderia descobrir qual era o problema... se alguem passar por isso me diga please).

O próximo passo é setar uma senha para o usuário postgres com os seguintes comandos:

sudo su postgres -c psql postgres
ALTER USER postgres WITH PASSWORD 'password';
\q


O primeiro comando chama o utilitário psql com o usuário postgres e conecta no postgres especificamente no database postgres.
O segundo comando altera a senha do usuário postgres.
O terceiro comando finaliza o psql.
Note que a palavra password deve ser substituida pela password que você desejar.

Feito a instalação e mudança de senha do usuário postgres, você estará apto a desenvolver um trabalho no seu computador conectando normalmente ao postgres, porém, se a idéia é disponibilizar o acesso ao banco para receber conexões de outras máquinas, você vai ter que alterar dois arquivos para isso. Para isso, vá para o diretório /etc/postgres/8.3/main

Edite o arquivo postgresql.conf

Na linha listen_addresses, troque o localhost por *, ficando a linha assim:

listen_addresses = '*'

Dessa forma seu postgres vai "escutar" não só conexoes provenientes da sua própria máquina.

A próxima configuração no mesmo arquivo é habilitar a encriptação de passwords, para fazer isso descomente a linha abaixo simplesmente removendo o # da frente dela:

password_encryption = on

Finalmente a próxima configuração é no arquivo pg_hba.conf. Neste arquivo você consegue restringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acesso para todos os IPs em uma faixa, no meu exeplo, quero liberar para todas as máquinas da rede 10.5.2.*, então eu adiciono a seguinte linha no meu pg_hba.conf:

host    all    all    10.5.2.0    255.255.0.0    md5

Feito isso, basta reiniciar o postgres com o comando:

sudo /etc/init.d/postgresql-8.3 restart

Enjoy!

Nenhum comentário:

Postar um comentário