Skip to main content

Como conectar a sua instância PostgreSQL

Como conectar através de uma Máquina Virtual (Jumphost)

Para conectar-se ao banco de dados PostgreSQL, é necessário uma Máquina Virtual provisionada na mesma região do banco de dados a que deseja-se conectar.

Vamos assumir que você já tenha uma instância de VM com sistema Ubuntu rodando e acessível via SSH. Caso não tenha, crie uma nova Máquina Virtual.

  1. Conecte na sua VM utilizando SSH.

  2. Uma vez dentro do jumphost (VM Ubuntu), você precisa instalar o cliente de linha de comando psql, caso ainda não o tenha instalado:

    a. Atualizar a sua VM com o comando:

    sudo apt update

    b. Instalar o cliente do PostgreSQL, caso ainda não tenha feito:

    sudo apt install postgresql-client
  3. Utilize o psql dentro VM para realizar a conexão com o banco de dados:

    psql -h "ip_privado_do_banco" -U "usuario" -d "postgres"
    • Substitua ip_privado_do_banco pelo IP privado do banco na mesma região da VM.
    • Substitua usuario pelo nome de usuário do banco de dados PostgreSQL que você informou ao criar a instância do banco.
    • Você pode substituir postgres pelo nome de algum outro banco de dados PostgreSQL que você já tenha criado. Inicialmente uma nova instância PostgreSQL na Magalu Cloud não conterá outros bancos de dados além do postgres padrão.

    Após executar este comando com sucesso, será solicitado que você informe a senha que forneceu ao criar a instância do banco de dados.

Como conectar diretamente da sua máquina local

Para conectar-se ao banco de dados PostgreSQL diretamente da sua máquina local, você precisa garantir que sua máquina tenha acesso à rede onde o banco de dados está hospedado. Para isso você pode utilizar o tunelamento SSH através de uma Máquina Virtual (Jumphost) na mesma região do banco de dados.

  1. Primeiro, você precisa criar um túnel SSH da sua máquina local para a Máquina Virtual (Jumphost) que está na mesma região do banco de dados PostgreSQL. Execute o seguinte comando no terminal da sua máquina local:

    ssh -L 5432:ip_privado_do_banco:5432 usuario_da_vm@endereco_ip_da_vm
    • Substitua ip_privado_do_banco pelo IP privado do banco na mesma região da VM.
    • Substitua usuario_da_vm pelo nome de usuário da Máquina Virtual. Caso sua VM tenha o sistema Ubuntu, o usuário padrão geralmente é ubuntu.
    • Substitua endereco_ip_da_vm pelo endereço IP público da Máquina Virtual.

    Este comando cria um túnel que redireciona o tráfego da porta 5432 (porta padrão do PostgreSQL) da sua máquina local para a porta 5432 do banco de dados através da Máquina Virtual.

  2. Mantenha o terminal aberto para que o túnel SSH permaneça ativo.

  3. Agora, em outro terminal na sua máquina local, você pode usar o cliente psql para conectar-se ao banco de dados PostgreSQL através do túnel SSH:

    psql -h localhost -U "usuario" -d "postgres"
    • Substitua usuario pelo nome de usuário do banco de dados PostgreSQL que você informou ao criar a instância do banco.
    • Você pode substituir postgres pelo nome de algum outro banco de dados PostgreSQL que você já tenha criado.

    Após executar este comando com sucesso, será solicitado que você informe a senha que forneceu ao criar a instância do banco de dados.

Como conectar utilizando uma ferramenta gráfica (GUI)

Para conectar-se ao banco de dados PostgreSQL utilizando DBeaver ou Beekeeper Studio, você pode seguir os passos abaixo:

  1. Abra a ferramenta gráfica de sua preferência (DBeaver ou Beekeeper Studio).
  2. Crie uma nova conexão de banco de dados e selecione PostgreSQL como o tipo de banco de dados.
  3. Preencha os campos de conexão com as seguintes informações:
    • Host: IP privado do banco de dados (na mesma região da VM).
    • Porta: 5432 (porta padrão do PostgreSQL).
    • Database: postgres (ou outro banco de dados que você tenha criado).
    • Username: nome de usuário do banco de dados PostgreSQL que você informou ao criar a instância do banco.
    • Password: senha que você forneceu ao criar a instância do banco.
    • SSH Tunnel: Ative a opção de túnel SSH e preencha os campos com as informações da Máquina Virtual (Jumphost):
      • Host: Endereço IP público da Máquina Virtual.
      • Porta: 22 (porta padrão do SSH).
      • Username: nome de usuário da Máquina Virtual (geralmente ubuntu para VMs com sistema Ubuntu).
      • Authentication Method: Escolha o método chave privada e forneça o caminho para a chave privada SSH que você utiliza para acessar a Máquina Virtual.
    • Port Forwarding: Configure o encaminhamento de porta local para redirecionar a porta 5432 da sua máquina local para a porta 5432 do banco de dados através da Máquina Virtual:
      • Local Port: 5432
      • Remote Host: IP privado do banco de dados
      • Remote Port: 5432
  4. Salve as configurações e teste a conexão.

Referências: