Instalando e Configurando PostGreSQL para receber conexões externas via pgAdmin

Distribuição: Debian / Ubuntu
1º Passo – Atualizar os repositórios
#aptitude update
Instalação do PostGreSQL
#aptitude install postgresql
* As dependências deverão ser resolvidas automaticamente.
Instalando o pgAdmin, que é uma ferramenta para administrar o postgre:
#aptitude install pgadmin3
* As dependências deverão ser resolvidas automaticamente.
O próximo passo é setar uma senha para o usuário postgres com os seguintes comandos:
# su postgres -c psql postgres ALTER USER postgres WITH PASSWORD ‘SUASENHA’; \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 SUASENHA 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ó conexões 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:
# /etc/init.d/postgresql-8.3 restart
Galera, a parte do pgAdmin3 eu posto assim que puder.
Enjoy!