Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Conecte-se ao Oracle Cloud Infrastructure Database com PostgreSQL usando DBeaver
Introdução
Neste tutorial, exploraremos como estabelecer conexão com um Oracle Cloud Infrastructure Database com PostgreSQL usando uma ferramenta de administração de banco de dados como DBeaver.
O DBeaver é uma ferramenta de gerenciamento de banco de dados gratuita e de código aberto que aprimora significativamente a eficiência dos administradores de banco de dados (DBAs) PostgreSQL, fornecendo uma interface amigável para administração, desenvolvimento e análise de dados do banco de dados. Qualquer outra ferramenta também pode ser considerada.
Este tutorial demonstrará como provisionar um Banco de Dados do OCI com PostgreSQL em uma sub-rede privada. Além disso, na segunda e terceira tarefas, provisionaremos uma instância de computação para servir como bastion host na mesma VCN (Rede Virtual na Nuvem), permitindo o acesso ao banco de dados PostgreSQL por meio de uma ferramenta de administração de banco de dados como DBeaver.
O esquema a seguir descreve a abordagem.
Objetivos
-
Crie uma instância de banco de dados PostgreSQL em uma sub-rede privada.
-
Crie a instância do Oracle Cloud Infrastructure (OCI) Compute para estabelecer conexão com PostgreSQL em uma sub-rede pública, usando a mesma VCN. Adicione a porta
5432
à lista de segurança de sub-rede privada. -
Conecte usando DBeaver.
Pré-requisitos
- Acesso a uma tenancy do OCI com privilégios para criar bancos de dados e instâncias de computação.
Tarefa 1: Criar uma Instância de Banco de Dados PostgreSQL em uma Sub-rede Privada
Podemos usar vários métodos para criar uma instância de banco de dados PostgreSQL, como Console, CLI e API do OCI. Para obter mais informações, consulte Criando um Sistema de Banco de Dados.
Nesta tarefa, usaremos a Console do OCI para criar um sistema de banco de dados PostgreSQL gerenciado.
-
Faça log-in na Console do OCI, navegue até Bancos de Dados, PostgreSQL e clique em Sistemas de BD.
-
Clique em Criar sistema de Banco de Dados PostgreSQL.
-
Na página Criar sistema de Banco de Dados PostgreSQL, selecione Criar novo sistema de Banco de Dados e clique em Próximo.
-
Na seção Configuração do sistema de banco de dados, insira as informações a seguir.
-
Nome do sistema de banco de dados: Informe um nome para o sistema de banco de dados.
-
Descrição (Opcional): Digite uma descrição para o sistema de banco de dados.
-
Versão principal PostgreSQL: Selecione uma versão principal do banco de dados PostgreSQL. O único valor permitido é 14.
-
-
Na seção Sistema de banco de dados, informe um valor para Contagem de nós. Um nó principal é obrigatório. Nós extras são reservados como nós de réplica de leitura.
-
Selecione Camada de desempenho para o banco de dados. Para obter mais informações, consulte Camadas de Desempenho.
-
Selecione Posicionamento de dados.
- Regional: os dados são armazenados de forma durável em vários domínios de disponibilidade na região.
- Específico do Domínio de Disponibilidade: os dados são armazenados de forma durável no domínio de disponibilidade selecionado.
-
Na seção Configuração do hardware, insira as seguintes informações.
-
Contagem de OCPUs: Selecione o número de OCPUs por nó.
-
Formas Disponíveis: Selecione a forma dos nós do banco de dados.
-
-
Na seção Configuração de rede, insira as seguintes informações.
-
Rede Virtual na Nuvem: Selecione a VCN na qual você deseja criar o banco de dados. Se você precisar criar uma VCN, clique em criar uma VCN. Para obter mais informações, consulte Gerenciamento de VCN e Sub-rede.
-
Sub-rede: Selecione a sub-rede privada da VCN selecionada.
-
Endereço IP privado: Um endereço IP privado na sub-rede da instância do banco de dados. O valor é opcional. Se um endereço IP não for fornecido, um será escolhido entre os endereços IP disponíveis na sub-rede especificada.
-
-
Na seção Credenciais do administrador do sistema de banco de dados, informe as credenciais do banco de dados. Os administradores não obtêm acesso de superusuário. Um OCI Database com usuário administrador PostgreSQL pode criar usuários e atribuições.
-
Nome de Usuário: Especifique o nome de usuário do administrador. Esse valor não pode ser alterado depois que o sistema de banco de dados é criado.
-
Opções de senha: Selecione uma das seguintes opções.
-
Inserir senha:
-
Senha: Informe a senha do administrador.
-
Confirmar senha: Confirme a senha do administrador.
-
-
Usar OCI Vault:
-
Vault: Selecione o vault que contém a senha do administrador.
-
Segredo: Selecione o segredo que contém a senha do administrador.
-
Versão do segredo: Selecione uma versão de segredo.
-
-
-
-
Depois de configurar o sistema de banco de dados, clique em Próximo.
-
Revise a configuração do sistema de banco de dados e clique em Submeter.
-
Após a criação bem-sucedida, acesse a página de informações gerais do sistema de banco de dados.
Tarefa 2: Criar Instância do OCI Compute para Conexão com PostgreSQL
O banco de dados PostgreSQL está sendo implantado em uma rede privada. Criaremos uma instância com um endereço IP público e concederemos acesso a PostgreSQL. Essa instância recém-criada servirá como um ponto de entrada para o banco de dados PostgreSQL.
-
Vá para a Console do OCI, navegue até Compute e Instances.
-
Selecione uma sub-rede pública na mesma VCN que você provisionou a instância do banco de dados PostgreSQL do OCI.
-
Conecte-se via SSH à instância e execute os comandos a seguir. Isso instalará o cliente para o PostgreSQL versão 14.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
Vá para a página de visão geral PostgreSQL do OCI, clique em Copiar no certificado da CA ou faça download do certificado e execute o comando a seguir no terminal.
sudo nano ./dbsystem.pub
Copie e cole o certificado completo no arquivo
dbsystem.pub
. Salve e feche o arquivo. -
Teste a conexão usando o comando a seguir.
psql -h [DB Private IP] -U [user name] -d postgres
Por exemplo:
psql -h 10.0.1.165 -U admin -d postgres
-
Execute a instrução como teste para verificar a conexão.
SELECT VERSION();
-
Execute a instrução a seguir para estabelecer conexão como usuário.
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
Por exemplo:
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
Execute a instrução a seguir para testar se a conexão está funcionando.
SELECT VERSION();
Tarefa 3: Conectar usando DBeaver
Nesta tarefa, instalaremos DBeaver e estabeleceremos conexão com PostgreSQL.
-
Faça download e instale o DBeaver aqui: DBeaver Community.
-
Adicione as credenciais para estabelecer conexão com o Banco de Dados do OCI com PostgreSQL.
-
Informe o endereço IP da máquina virtual (VM) e a Porta 22. DBeaver usará a mesma instância de VM na sub-rede pública usando SSH para acessar o Banco de Dados do OCI com o banco de dados PostgreSQL.
-
(Opcional) Execute a instrução a seguir para criar uma tabela e carregar dados usando DBeaver.
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
Visão geral da tabela criada.
Links Relacionados
Confirmações
- Autors - Ismael Hassane (Arquiteto de Soluções Sênior, Plataforma de Dados), Jevon Rowan (Engenheiro Principal de Soluções em Nuvem, Especialista em Serviços de Dados de Código Aberto)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15178-01
September 2024