PostgreSQL em rede

Fórum de discusão sobre o registro de informações hospitalares e seus instrumentos de captação

Moderadores: viniciuspc, sergiosilva, virginia.lucas, Carolina Lucena

Ghost01
Membro Avançado
Membro Avançado
Mensagens: 209
Registrado em: Qua Ago 26, 2009 6:07 am

PostgreSQL em rede

Mensagem por Ghost01 » Qua Jan 08, 2014 1:41 pm

Segue uma ajuda para as pessoas que estão com problemas para executar o sistema em rede. Será necessário fazer algumas configurações no seu postgreSQL para que ele funcione corretamente

Abra o administrador do postgresql

Imagem

Após abrir vai se exibido esta tela:

Imagem

Clique em File > Open postgresql.conf

Imagem

Será apresentada essa tela, para que você abra o arquivo de configuração do postgre, o caminho deste arquivo é:
C:/Arquivos de Programas/ PostgreSQL/9.0/data

Imagem

Imagem

Imagem

Imagem

Imagem

Imagem

Será exibido essa tela, procure por essa linha listen_addresses

Imagem

Verifique se ela está configurada com na tela abaixo:

Imagem

Clique em OK e feche a janela

Apenas isso não é o suficiente, agora é necessário definir as regras para acesso ao banco pela rede.
Vá em file > Open pg_hba.conf.
Da mesma forma que você abriu o arquivo anterior, procure o arquivo na pasta data, selecione o arquivo pg_hba.conf e clique em abrir.

Imagem

Este é o arquivo do Postgre responsável pela liberação de usuários, hosts e bancos de dados. Nele é possível dizer qual usuário de qual ip (ou rede) conectará a qual banco. É possível liberar qualquer usuário para conectar a qualquer banco, mas esta é uma regra cautelosa a ser seguida pois pode comprometer a segurança do seu servidor de bases de dados.

Será exibida a seguinte tela

Imagem

Basta apenas criar a regra, clique duas vezes na ultima linha e será exibida a seguinte janela:

Imagem

Para a criação das regras de liberação basta seguir essa explicação:

Por padrão o arquivo vem com a seguinte configuração:

# “local” is for Unix domain socket connections only


local all all trust


# IPv4 local connections:


host all all 127.0.0.1/32 trust


# IPv6 local connections:


host all all ::1/128 trust


Pode haver alguma variação das configurações padrões de acordo com a versão utilizada, mas geralmente é algo que represente essas informações. Basicamente elas querem dizer que todas as conexões locais podem ser realizadas por qualquer usuário do banco a qualquer banco de dados.

Para liberar o acesso remoto basta criar uma nova regra seguindo o seguinte padrão:

host all all 0.0.0.0/0 trust


Com essa regra qualquer usuário de qualquer IP poderá se conectar a qualquer database.
Importante: O parâmetro trust quer dizer que não será solicitada qualquer senha para conectar ao banco de dados. Então, qualquer pessoa com acesso à sua rede poderá se conectar ao servidor PostgreSQL sem nenhuma restrição. Se a sua rede for restrita como uma turma de um curso ou um ambiente de desenvolvimento interno de empresa não há riscos, porém, é necessário possuir um ambiente de rede interno isolado.

Este parâmetro é útil quando você ainda não se conectou ao banco para criar uma senha de acesso ao usuário postgres (do banco e não do sistema operacional). Então você se conecta e reseta a senha do usuário. Logo em seguida, altere o parâmetro para md5. Assim, uma senha será solicitada ao tentar conectar-se ao servidor Postgre.

Assim ficará a regra de liberação:

host all all 0.0.0.0/0 md5


É possível também liberar o acesso apenas a uma rede específica:

host all all 192.168.0.0/32 md5


Ou também, informar qual usuário poderá conectar:

host all usuariodobanco 192.168.0.0/32 md5


Também informar qual o banco de dados a ser conectaro por este usuário:

host bancodedados usuariodobanco 192.168.0.0/32 md5


Na regra acima, o usuário usuariodobanco poderá conectar-se apenas ao banco bancodedados apenas se estiver dentro da rede 192.168.0.0.


Esse tutorial não foi criado por mim, apenas adicionei prints da tela para facilitar o entendimento, todos os créditos são do autor segue o link para a versão original do tutorial.

Leia mais no Oficina da Net: http://www.oficinadanet.com.br/artigo/2 ... postgresql
Fábio Luciano
Faturista no Hospital Maternidade Dr. João Carlos Meireles Paulilo
Alagoinhas - Bahia

Responder

Voltar para “Captação do Atendimento Hospitalar SUS [SISAIH01]”