Observação:

Migre para o Oracle Cloud Infrastructure Database com PostgreSQL usando o OCI Object Storage e o Rclone

Introdução

O Oracle Cloud Infrastructure Database com PostgreSQL (OCI Database with PostgreSQL) é um serviço totalmente gerenciado que reduz o tempo gasto em tarefas de rotina, como aplicação de patches, backups e gerenciamento de armazenamento. Seus principais recursos incluem uma arquitetura de armazenamento otimizada para banco de dados que desacopla o mecanismo de processamento de transações SQL da camada de armazenamento, várias réplicas para aumentar a atividade do usuário, cópias de backup entre regiões e total compatibilidade com o banco de dados PostgreSQL de código aberto.

Arquitetura do OCI Database with PostgreSQL

Observação: o PostgreSQL versões 14 e 15 tem suporte (a partir de junho de 2025).

O OCI Object Storage fornece armazenamento escalável, durável e de baixo custo para qualquer tipo de dados. Este tutorial será usado para armazenar o arquivo de dump PostgreSQL.

Rclone é um programa de linha de comando de código aberto para gerenciar ou transferir arquivos em armazenamentos na nuvem.

Neste tutorial, discutiremos como migrar dados de um banco de dados PostgreSQL on-premises com eficiência para o OCI Database with PostgreSQL. Usaremos os utilitários pg_dump e pg_restore aproveitando o OCI Object Storage e Rclone econômicos para upload rápido e em várias partes e o recurso mount.

Objetivos

Pré-requisitos

Observação O OCI Database with PostgreSQL não está disponível no OCI Always Free Tier.

Arquitetura simplificada

Tarefa 1: Criar Credenciais do Usuário da Chave de API do OCI

  1. Faça log-in na Console do OCI, clique no menu de perfil Ícone do menu Perfil e selecione Meu perfil.

  2. Em Recursos, clique em Chaves de API

  3. Clique em Adicionar Chave de API no canto superior esquerdo da lista de chaves de API.

  4. Clique em Fazer Download da Chave Privada e salve a chave no diretório .oci. Na maioria dos casos, você não precisa fazer download da chave pública.

  5. Clique em Adicionar.

A chave é adicionada e a Visualização do Arquivo de Configuração é exibida. O snippet de arquivo inclui os parâmetros e valores necessários que você precisará para criar seu arquivo de configuração.

Para obter mais informações, consulte Chaves e OCIDs Necessários.

Tarefa 2: Exportar Dados PostgreSQL com o pg_dump

No seu host local, use pg_dump para exportar o banco de dados PostgreSQL.

pg_dump -U your_username -h your_host -p your_port -F c -f /path/to/output.dump your-database-name

Tarefa 3: Instalar, Configurar e Transferir Dados com o Rclone

  1. No host local, instale o rclone.

    sudo -v ; curl https://rclone.org/install.sh | sudo bash
    
  2. Execute o comando a seguir para configurar o rclone.

    rclone config
    

    Para obter mais informações sobre como configurar a conexão do OCI Object Storage, consulte Documentação do clone. Use a Opção 2: um usuário do OCI e uma chave de API para autenticação (criada na Tarefa 1).

  3. Use o upload em várias partes rclone para copiar o banco de dados exportado para um bucket do OCI Object Storage. Por exemplo:

    rclone --progress  --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10  copy <source> <dest>
    

    Exemplo de comando e uma saída:

    	rclone --progress  --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10  copy output.dump OCI:bucket_db-dump
    	Transferred:        4.500 KiB / 4.500 KiB, 100%, 0 B/s, ETA -
    	Transferred:            1 / 1, 100%
    	Elapsed time:         0.0s
    
    

    Para obter mais informações, consulte Copiar Dados para o Oracle Cloud Usando Rclone para Criar Insights no Oracle Analytics Cloud.

Tarefa 4: Montar o OCI Object Storage usando Rclone

  1. No host bastion do OCI Compute, instale as ferramentas PostgreSQL.

    dnf install postgresql
    

    O OCI Database with PostgreSQL suporta as versões 14 e 15, portanto, instale as ferramentas PostgreSQL de acordo.

    sudo dnf module reset postgresql
    sudo dnf module enable postgresql:15
    sudo dnf install postgresql
    
  2. Instale e configure o rclone em seu bastion host - repita a Tarefa 3, Etapa 2.

  3. Monte seu bucket com seus dados copiados na Tarefa 3. Por exemplo, /mnt/oci.

    rclone mount OCI:bucket_db-dump /mnt/oci --vfs-cache-mode full --log-file /home/opc/rclone.log --config ~/.config/rclone/rclone.conf --log-level DEBUG --daemon --attr-timeout 1s
    
  4. Verifique os arquivos no OCI Object Storage montado.

    ls /mnt/oci
    

Tarefa 5: Restaurar o OCI Database with PostgreSQL usando pg_restore

Restaure seu banco de dados OCI Database with PostgreSQL com jobs paralelos, em segundo plano, como um processo daemon, usando o sistema de arquivos montado.

nohup pg_restore -d test -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -v -c -j 10 -F c /mnt/oci/output.dump >import.log 2>&1

O banco de dados de destino (teste neste exemplo) já deve existir antes de executar pg_restore. Para criar o banco de dados com antecedência:

createdb -U postgres -h localhost -p 5432 test

Você também pode adicionar –verbose para detalhes de progresso ou –clean para soltar objetos antes de recriá-los.

Tarefa 6: Verificar o Banco de Dados Restaurado

Usando o psql, faça log-in no OCI Database with PostgreSQL e verifique a integridade dos dados restaurados.

psql -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -d test

Agora você pode usar instruções SQL select para verificar o número de linhas em tabelas.

Confirmações

Mais Recursos de Aprendizado

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.