Note :

Migrer vers Oracle Cloud Infrastructure Database avec PostgreSQL à l'aide du service de stockage d'objets et du clone OCI

Présentation

Oracle Cloud Infrastructure Database avec PostgreSQL (OCI Database with PostgreSQL) est un service entièrement géré qui réduit le temps consacré aux tâches de routine telles que l'application de correctifs, les sauvegardes et la gestion du stockage. Ses principales caractéristiques incluent une architecture de stockage optimisée pour la base de données qui découple le moteur de traitement des transactions SQL de la couche de stockage, plusieurs répliques pour stimuler l'activité des utilisateurs, des copies de sauvegarde interrégionales et une compatibilité complète avec la base de données PostgreSQL à code source libre.

Base de données OCI Database with PostgreSQL

Note : Les versions 14 et 15 de PostgreSQL sont prises en charge (en juin 2025).

Le service Stockage d'objets pour OCI fournit un stockage évolutif, durable et à faible coût pour tout type de données. Dans ce tutoriel, il sera utilisé pour stocker le fichier de vidage PostgreSQL.

Rclone est un programme à code source libre de ligne de commande permettant de gérer ou de transférer des fichiers dans des stockages en nuage.

Dans ce tutoriel, nous allons discuter de la façon de migrer efficacement des données d'une base de données PostgreSQL sur place vers OCI Database with PostgreSQL. Nous utiliserons les utilitaires pg_dump et pg_restore en tirant parti du service de stockage d'objets et de clonage d'OCI rentable pour un chargement rapide en plusieurs parties et la fonction de montage.

Objectifs

Conditions requises

Note : OCI Database with PostgreSQL n'est pas disponible dans le niveau Toujours gratuit d'OCI.

Architecture simplifiée

Tâche 1 : Créer les données d'identification d'utilisateur de clé d'API OCI

  1. Connectez-vous à la console OCI, cliquez sur le menu de profil Icône du menu Profil et sélectionnez Mon profil.

  2. Dans Ressources, cliquez sur Clés d'API.

  3. Cliquez sur Ajouter une clé d'API en haut à gauche de la liste des clés d'API.

  4. Cliquez sur Télécharger la clé privée et enregistrez la clé dans votre répertoire .oci. Dans la plupart des cas, vous n'avez pas besoin de télécharger la clé publique.

  5. Cliquez sur Ajouter.

La clé est ajoutée et la prévisualisation du fichier de configuration s'affiche. L'extrait de fichier comprend les paramètres et les valeurs nécessaires pour créer votre fichier de configuration.

Pour plus d'informations, voir Clés et OCID requis.

Tâche 2 : Exporter les données PostgreSQL avec pg_dump

Dans votre hôte sur place, utilisez pg_dump pour exporter la base de données PostgreSQL.

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

Tâche 3 : Installer, configurer et transférer des données avec Rclone

  1. Dans votre hôte sur place, installez rclone.

    sudo -v ; curl https://rclone.org/install.sh | sudo bash
    
  2. Exécutez la commande suivante pour configurer rclone.

    rclone config
    

    Pour plus d'informations sur la configuration de la connexion au service de stockage d'objets pour OCI, voir la documentation sur le clone. Utilisez Option 2 : un utilisateur OCI et une clé d'API pour l'authentification (créée dans la tâche 1).

  3. Utilisez le chargement en plusieurs parties rclone pour copier la base de données exportée vers un seau de stockage d'objets OCI. Par exemple :

    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>
    

    Exemple de commande et de sortie :

    	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
    
    

    Pour plus d'informations, voir Copier des données vers Oracle Cloud à l'aide de Rclone pour créer des données clés dans Oracle Analytics Cloud.

Tâche 4 : Monter le stockage d'objets OCI à l'aide de Rclone

  1. Dans votre hôte bastion du service de calcul pour OCI, installez les outils PostgreSQL.

    dnf install postgresql
    

    OCI Database with PostgreSQL prend en charge les versions 14 et 15. Installez donc les outils PostgreSQL en conséquence.

    sudo dnf module reset postgresql
    sudo dnf module enable postgresql:15
    sudo dnf install postgresql
    
  2. Installez et configurez rclone dans votre hôte bastion - répétez la tâche 3, étape 2.

  3. Montez le compartiment avec les données copiées dans la tâche 3. Par exemple, /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. Vérifiez les fichiers dans le stockage d'objets OCI monté.

    ls /mnt/oci
    

Tâche 5 : Restaurer la base de données OCI Database with PostgreSQL à l'aide de pg_restore

Restaurez votre base de données OCI Database with PostgreSQL avec des tâches parallèles, en arrière-plan, en tant que processus démon, à l'aide d'un système de fichiers monté.

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 données cible (le test dans cet exemple) doit déjà exister avant d'exécuter pg_restore. Pour créer la base de données au préalable :

createdb -U postgres -h localhost -p 5432 test

Vous pouvez également ajouter -verbose pour les détails de progression ou -clean pour supprimer des objets avant de les recréer.

Tâche 6 : Vérifier la base de données restaurée

À l'aide de psql, connectez-vous à la base de données OCI Database with PostgreSQL et vérifiez l'exhaustivité des données restaurées.

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

Vous pouvez désormais utiliser des instructions SQL Select pour vérifier le nombre de lignes dans les tables.

Remerciements

Ressources d'apprentissage supplémentaires

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.