Como permitir o acesso remoto à base de dados PostgreSQL
Tenho o PostgreSQL 9.2 instalado no Windows 7 e tenho o windows XP instalado na máquina Virtual, Como posso ligar estas duas bases de dados e permitir o acesso remoto para adicionar/editar a base de dados de ambos os sistemas ?
5 answers
Para aceder remotamente a uma base de dados PostgreSQL, deve definir os dois principais ficheiros de configuração PostgreSQL:
Postgresql.conf
pg_hba.conf
Esta é uma breve descrição sobre como você pode defini-los (note que a descrição a seguir é meramente indicativa: Para configurar uma máquina com segurança, você deve estar familiarizado com todos os parâmetros e seus significados)
Em primeiro lugar, configure o serviço PostgreSQL para ouvir na porta 5432 em todas as interfaces de rede do Windows 7 Máquina:
abrir o ficheiro postgresql.conf
(normalmente localizado em C:\Program ficheiros\PostgreSQL\9.2\data) e define o parâmetro
listen_addresses = '*'
Verifique o endereço de rede da máquina virtual WindowsXP e defina os parâmetros em pg_hba.ficheiro conf (localizado no mesmo directório do postgresql.conf) para que o postgresql possa aceitar conexões de máquinas virtuais hosts.
Por exemplo, se a máquina com Windows XP tem 192.168.56.2 endereço IP, adicione no Arquivo pg_hba.conf
:
host all all 192.168.56.1/24 md5
Por aqui, PostgreSQL. irá aceitar conexões de todas as máquinas na rede 192.168.1.XXX.
Reiniciar o serviço PostgreSQL no Windows 7 (Serviços-> PosgreSQL 9.2: botão direito e reiniciar sevice). Instale o pgAdmin na máquina do windows XP e tente ligar-se ao PostgreSQL.
Após set listen_addresses = '*'
em postgresql.conf
Edite o hba_file.conf ficheiro e adicione o seguinte item no final do ficheiro:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
Para Encontrar os ficheiros de configuração esta ligação pode ajudar-te.
Host todos os 192.168.56.1 / 24 md5
Isto funciona com o VirtualBox e o adaptador apenas para as máquinas activados. Se não usar a Virtualbox, terá de substituir o endereço IP.
Além das respostas acima, sugerindo a modificação dos ficheiros de configuração pg_hba.conf e postgresql.conf e reiniciando o serviço PostGreSQL, em alguns computadores do Windows 7 também pode ser necessário permitir a porta (por exemplo, 5432) para o tráfego TCP de entrada que o servidor PostGreSQL pode receber.
Se isto for necessário no seu computador, por favor abra a Firewall do Windows e adicione uma regra de entrada para a porta (por exemplo, 5432). Agora, tente ligar-se novamente a partir de pgAdmin no computador.