Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
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.
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
-
Exporte la base de datos PostgreSQL mediante
pg_dump
. -
Copie los archivos de datos exportados a OCI Object Storage mediante rclone.
-
Monte OCI Object Storage en OCI Compute con rclone.
-
Importe datos directamente desde OCI Object Storage mediante
pg_restore
.
Requisitos
-
Acceso a una cuenta de OCI. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
-
VCN con subredes públicas y privadas, asegúrese de que el puerto
5432
esté abierto en la lista de seguridad de OCI para la subred privada. -
Una instancia de OCI Compute en una subred pública, que actúa como un bastión y un nodo de utilidad, con las herramientas de cliente Rclone y PostgreSQL instaladas (denominadas bastión en este tutorial, no las mezcle con el servicio OCI Bastion)
-
Este tutorial se basa en Oracle Linux 8; los comandos pueden ser diferentes para otros sistemas operativos.
-
OCI Database with PostgreSQL en la subred privada. Para obtener más información, consulte Despliegue de OCI Database with PostgreSQL.
-
Instancia local PostgreSQL local con herramientas de cliente PostgreSQL instaladas.
Nota OCI Database with PostgreSQL no está disponible en la cuenta Siempre gratis de OCI.
Tarea 1: Crear credenciales de usuario de clave de API de OCI
-
Conéctese a la consola de OCI, haga clic en el menú de perfil
y seleccione Mi perfil.
-
En Recursos, haga clic en Claves de API,
-
Haga clic en Agregar clave de API en la parte superior izquierda de la lista de claves de API.
-
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. -
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.
user
: identificador de Oracle Cloud (OCID) del usuario para el que se está agregando el par de claves.fingerprint
: huella de la clave que se acaba en agregar.tenancy
: el OCID de su arrendamiento.region
: región seleccionada actualmente en la consola de OCI.key_file
: ruta a su archivo de clave privada descargado. Debe actualizar este valor a la ruta del sistema de archivos donde haya guardado el archivo de clave privada.
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
-U your_username
: nombre de usuario de la base de datos.-h your_host
: host en el que se está ejecutando la base de datos (por ejemplo,localhost
).-p your_port
: número de puerto (el valor por defecto suele ser5432
).-F c
: formato de la salida (c es para personalizado, que es flexible y se puede restaurar mediantepg_restore
).-f /path/to/output.dump
: ruta de archivo en la que se guardará el volcado.
nombre-base de datos: nombre de la base de datos que desea volcar.
Tarea 3: Instalación, configuración y transferencia de datos con Rclone
-
En el host local, instale rclone.
sudo -v ; curl https://rclone.org/install.sh | sudo bash
-
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).
-
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
-
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
-
Instale y configure rclone en el host bastión: repita la tarea 3, paso 2.
-
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
-
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.
Enlaces relacionados
Acuses de recibo
- Autor: Sylwester Dec (cinturón negro de datos de código abierto de OCI)
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.
Migrate to Oracle Cloud Infrastructure Database with PostgreSQL using OCI Object Storage and Rclone
G37262-01
Copyright ©2025, Oracle and/or its affiliates.