Por padrão o Postgres não vem configurado para aceitar conexões externas, e para habilitá-las temos que editar dois arquivos de configuração: pg_hba.conf e postgresql.conf
Estou com o pré suposto que você está no ambiente Linux, e para editar os arquivos iremos utilizar o comando “vi”, veja o comando abaixo onde iremos abrir um dos arquivos de configuração, e tenha atenção que este pode não ser o caminho exato onde seu arquivo esteja, dependo da versão do sistema operacional que você esteja utilizando, ou mesmo a distribuição (aqui estou utilizando o CentOS 6.0)
1
| vi /var/lib/pgsql/data/pg_hba .conf |
Pronto, agora você pode editar o arquivo, acrescente no final a seguinte linha:
1
| host all all 0.0.0.0 /0 md5 |
Nela estamos dizendo que todas (0.0.0.0/0) as conexões remotas (host)estão permitidas para todos os usuários! Cuidado! Eu sugiro que você coloque o seu IP para realizar as alterações e depois remova essa linha.
Alterando para um IP específico poderia ficar assim:
1
| host all all 189.162.0.16 /24 md5 |
Depois de adicionar a linha, saia do editor vi e salvando as alterações.
Agora vamos editar o segundo arquivo, mais fácil. Abra o arquivo postgresql.conf:
1
| vi /var/lib/pgsql/data/postgresql .conf |
Agora procure pela linha abaixo e remova o comentário (#), caso houver:
1
| listen_addresses= 'localhost' |
Troque por asterísco “*” para habilitar a conexão para todos ou coloque seu IP:
1
| listen_addresses= '189.162.0.16' |
E uma última alteração, procure pela linha abaixo, e caso estiver comentada remova o comentário:
1
| port = 5432 |
Pronto, agora seu PostgreSQL está configurado para aceitar conexões externas, dê o restart no processo dele e inicie seu trabalho!
1
| service postgresql restart |