Note:

Migración a Oracle Cloud Infrastructure Database con PostgreSQL mediante OCI Object Storage y Rclone

Introducción

Oracle Cloud Infrastructure Database con PostgreSQL (OCI Database with PostgreSQL) es un servicio totalmente gestionado que reduce el tiempo dedicado a tareas rutinarias como la aplicación de parches, las copias de seguridad y la gestión del almacenamiento. Sus características clave incluyen una arquitectura de almacenamiento optimizada para bases de datos que desacopla el motor de procesamiento de transacciones SQL de la capa de almacenamiento, múltiples réplicas para aumentar la actividad del usuario, copias de seguridad interregionales y compatibilidad total con la base de datos PostgreSQL de código abierto.

Arquitectura de OCI Database with PostgreSQL

Nota: Las versiones 14 y 15 de PostgreSQL están soportadas (a partir de junio de 2025).

OCI Object Storage proporciona almacenamiento escalable, duradero y de bajo costo para cualquier tipo de datos. En este tutorial, se utilizará para almacenar el archivo de volcado PostgreSQL.

Rclone es un programa de línea de comandos de código abierto para gestionar o transferir archivos en almacenamientos en la nube.

En este tutorial, analizaremos cómo migrar datos de forma eficaz de una base de datos PostgreSQL local a OCI Database with PostgreSQL. Utilizaremos las utilidades pg_dump y pg_restore aprovechando OCI Object Storage y Rclone rentables para una carga rápida y de varias partes y la función mount.

Objetivos

Requisitos

Nota OCI Database with PostgreSQL no está disponible en la cuenta Siempre gratis de OCI.

Arquitectura simplificada

Tarea 1: Crear credenciales de usuario de clave de API de OCI

  1. Conéctese a la consola de OCI, haga clic en el menú de perfil Icono de menú de perfil y seleccione Mi perfil.

  2. En Recursos, haga clic en Claves de API,

  3. Haga clic en Agregar clave de API en la parte superior izquierda de la lista de claves de API.

  4. Haga clic en Descargar clave privadas y guarde la clave en el directorio .oci. En la mayoría de los casos, no es necesario que descargue la clave pública.

  5. Haga clic en Agregar.

La clave se agrega y se muestra la Vista previa del Archivo de Configuración. El fragmento de archivo incluye los parámetros y valores necesarios para crear el archivo de configuración.

Para obtener más información, consulte Claves y OCID necesarios.

Tarea 2: Exportar datos de PostgreSQL con pg_dump

En el host local, utilice pg_dump para exportar la base de datos PostgreSQL.

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

Tarea 3: Instalación, configuración y transferencia de datos con Rclone

  1. En el host local, instale rclone.

    sudo -v ; curl https://rclone.org/install.sh | sudo bash
    
  2. Ejecute el siguiente comando para configurar rclone.

    rclone config
    

    Para obtener más información sobre cómo configurar la conexión de OCI Object Storage, consulte la documentación de clonación. Utilice la opción 2: un usuario de OCI y una clave de API para la autenticación (creada en la tarea 1).

  3. Utilice la carga de varias partes de rclon para copiar la base de datos exportada a un cubo de OCI Object Storage. Por ejemplo:

    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>
    

    Ejemplo de comando y una salida:

    	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 obtener más información, consulte Copia de datos en Oracle Cloud mediante Rclone para generar estadísticas en Oracle Analytics Cloud.

Tarea 4: Montaje de OCI Object Storage mediante Rclone

  1. En el host bastión de OCI Compute, instale las herramientas PostgreSQL.

    dnf install postgresql
    

    OCI Database with PostgreSQL soporta las versiones 14 y 15, por lo que debe instalar las herramientas PostgreSQL según corresponda.

    sudo dnf module reset postgresql
    sudo dnf module enable postgresql:15
    sudo dnf install postgresql
    
  2. Instale y configure rclone en el host bastión: repita la tarea 3, paso 2.

  3. Monte el cubo con los datos copiados en la tarea 3. Por ejemplo, /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. Compruebe los archivos en OCI Object Storage montado.

    ls /mnt/oci
    

Tarea 5: Restauración de OCI Database with PostgreSQL mediante pg_restore

Restaure la base de datos de OCI Database with PostgreSQL con trabajos paralelos, en segundo plano, como un proceso de daemon, mediante el sistema de archivos 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

La base de datos de destino (test en este ejemplo) ya debe existir antes de ejecutar pg_restore. Pasos para crear previamente la base de datos:

createdb -U postgres -h localhost -p 5432 test

También puede agregar -verbose para obtener detalles de progreso o -clean para borrar objetos antes de volver a crearlos.

Tarea 6: Verificación de la base de datos restaurada

Con psql, conéctese a OCI Database with PostgreSQL y verifique que los datos restaurados estén completos.

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

Ahora puede utilizar sentencias SELECT de SQL para verificar el número de filas de las tablas.

Acuses de recibo

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.