Como configurar o PostgreSQL para melhor acesso do host do Windows 7 e do convidado do Ubuntu 12.04?

0

Eu tenho uma nova instalação do Ubuntu 12.04 recém-instalada no VirtualBox, que por sua vez está sendo executado em uma máquina Windows 7 de 64 bits com muita RAM. Eu gostaria de instalar o PostgreSQL neste sistema de forma que os dados desse banco de dados possam ser acessados a partir da máquina virtual do Linux ou da máquina real do Windows. Em ambos os casos, eu quero ser capaz de acessar o banco de dados usando uma interface SQL de uso geral (como o pgAdmin III) e também de uma instalação específica da máquina da linguagem estatística R usando o RPostgreSQL DBI. A partir deste momento, não espero disponibilizar o banco de dados para nenhum outro computador, exceto, talvez, meu laptop.

Esta será minha primeira tentativa de instalar um banco de dados em uma máquina virtual. Estou certo de que para fazer isso eu faria uma instalação separada do PostgreSQL em cada máquina, mas os dois apontariam para o mesmo diretório de dados? Se não, alguém poderia sugerir a configuração mais sensata para os propósitos que afirmei? Obrigado!

    
por andrewH 26.02.2014 / 08:07

1 resposta

1

Am I right that to do this I would do a separate PostgreSQL installation on each machine, but have both of them point to the same data directory?

Absolutamente não, não. O PostgreSQL não pode compartilhar um diretório de dados entre múltiplos postmasters em execução, nem são diretórios de dados compatíveis entre diferentes versões do PostgreSQL ou compilações do PostgreSQL em diferentes sistemas operacionais / arquiteturas.

Você instala o servidor PostgreSQL em um deles. Você define listen_addresses para permitir conexões TCP / IP não locais, provavelmente configurando-a como * . Então você usa os aplicativos e bibliotecas do cliente PostgreSQL para conectar-se ao servidor através de TCP / IP de ambas as máquinas depois de usar os recursos usuais do seu sistema VM para habilitar a rede entre convidado e host, e fazendo aberturas apropriadas no servidor. firewall na máquina que está executando o servidor.

Você precisará modificar pg_hba.conf para permitir conexões de hosts remotos também. Veja o capítulo "autenticação do cliente" da documentação.

    
por 26.02.2014 / 08:51