Remarques :

Connectez-vous à Oracle Cloud Infrastructure Database avec PostgreSQL à l'aide de DBeaver

Introduction

Dans ce tutoriel, nous allons découvrir comment nous connecter à Oracle Cloud Infrastructure Database avec PostgreSQL à l'aide d'un outil d'administration de base de données tel que DBeaver.

DBeaver est un outil de gestion de base de données open source gratuit qui améliore considérablement l'efficacité des administrateurs de base de données PostgreSQL en fournissant une interface conviviale pour l'administration, le développement et l'analyse des données. Tout autre outil peut également être envisagé.

Ce tutoriel explique comment provisionner une base de données OCI avec PostgreSQL dans un sous-réseau privé. De plus, dans la deuxième et la troisième tâche, nous provisionnerons une instance de calcul pour servir de bastion dans le même réseau cloud virtuel (VCN), ce qui permettra d'accéder à la base de données PostgreSQL via un outil d'administration de base de données tel que DBeaver.

Le schéma suivant décrit l'approche.

vue d'architecture

Objectifs

Prérequis

Tâche 1 : création d'une instance de base de données PostgreSQL dans un sous-réseau privé

Nous pouvons utiliser plusieurs méthodes pour créer une instance de base de données PostgreSQL, comme la console OCI, l'interface de ligne de commande et l'API. Pour plus d'informations, reportez-vous à Création d'un système de base de données.

Dans cette tâche, nous allons utiliser la console OCI pour créer un système de base de données PostgreSQL géré.

  1. Connectez-vous à la console OCI, accédez à Bases de données, à PostgreSQL et cliquez sur Systèmes de base de données.

    img

  2. Cliquez sur Créer un système de base de données PostgreSQL.

    img

  3. Sur la page Créer un système de base de données PostgreSQL, sélectionnez Créer un système de base de données et cliquez sur Suivant.

    img

  4. Dans la section Configuration du système de base de données, saisissez les informations suivantes.

    • Nom de système de base de données : entrez le nom du système de base de données.

    • Description (facultatif) saisissez une description du système de base de données.

    • Version majeure de PostgreSQL : sélectionnez une version majeure de la base de données PostgreSQL. La seule valeur autorisée est 14.

  5. Dans la section Système de base de données, entrez une valeur pour Nombre de noeuds. Un noeud principal est requis. Les noeuds supplémentaires sont réservés en tant que noeuds de réplique de lecture.

  6. Sélectionnez Niveau de performances pour la base de données. Pour plus d'informations, reportez-vous à Niveaux de performances.

  7. Sélectionnez Placement des données.

    • Régional : les données sont stockées de manière durable dans plusieurs domaines de disponibilité de la région.
    • Propre au domaine de disponibilité : les données sont stockées durablement dans le domaine de disponibilité sélectionné.

    img

  8. Dans la section Configuration matérielle, saisissez les informations suivantes.

    • Nombre d'OCPU : sélectionnez le nombre d'OCPU par noeud.

    • Formes disponibles : sélectionnez la forme des noeuds de base de données.

  9. Dans la section Configuration réseau, entrez les informations suivantes.

    • Réseau cloud virtuel : sélectionnez le VCN dans lequel vous souhaitez créer la base de données. Si vous devez créer un VCN, cliquez sur créer un VCN. Pour plus d'informations, reportez-vous à VCN and Subnet Management.

    • Sous-réseau : sélectionnez le sous-réseau privé du VCN sélectionné.

    • Adresse IP privée : adresse IP privée du sous-réseau de l'instance de base de données. La valeur est facultative. Si aucune adresse IP n'est fournie, elle est choisie parmi les adresses IP disponibles dans le sous-réseau spécifié.

    img

  10. Dans la section Informations d'identification d'administrateur de système de base de données, entrez les informations d'identification de la base de données. Les administrateurs n'ont pas accès au superutilisateur. Une base de données OCI avec un administrateur PostgreSQL peut créer des utilisateurs et des rôles.

    • Nom utilisateur : indiquez le nom utilisateur de l'administrateur. Cette valeur ne peut pas être modifiée après la création du système de base de données.

    • Options de mot de passe : sélectionnez l'une des options suivantes.

      • Mot de passe d'entrée:

        • Mot de passe : Saisissez le mot de passe de l'administrateur.

        • Confirmer le mot de passe : confirmez le mot de passe de l'administrateur.

      • Utiliser OCI Vault:

        • Cault : sélectionnez le coffre qui contient le mot de passe de l'administrateur.

        • Secret : sélectionnez la clé secrète contenant le mot de passe administrateur.

        • Version de clé secrète : sélectionnez une version de clé secrète.

    img

  11. Après avoir configuré le système de base de données, cliquez sur Suivant.

  12. Vérifiez la configuration du système de base de données et cliquez sur Soumettre.

    img

  13. Une fois la création effectuée, accédez à la page d'informations générales du système de base de données.

    img

Tâche 2 : création d'une instance OCI Compute pour la connexion à PostgreSQL

La base de données PostgreSQL est en cours de déploiement au sein d'un réseau privé. Nous allons créer une instance avec une adresse IP publique et lui accorder l'accès à PostgreSQL. Cette instance nouvellement créée servira de point d'entrée à la base de données PostgreSQL.

  1. Accédez à la console OCI, puis à Compute et à Instances.

    image

  2. Sélectionnez un sous-réseau public dans le même VCN que vous avez provisionné l'instance de base de données OCI PostgreSQL.

    image

  3. Connectez-vous en SSH à l'instance et exécutez les commandes suivantes. Le client sera installé pour la version 14 de PostgreSQL.

    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

  4. Accédez à la page de présentation OCI PostgreSQL, cliquez sur Copier dans le certificat d'autorité de certification ou téléchargez le certificat et exécutez la commande suivante dans le terminal.

    sudo nano ./dbsystem.pub
    

    Copiez et collez le certificat complet dans le fichier dbsystem.pub. Enregistrez et fermez le fichier.

  5. Testez la connexion à l'aide de la commande suivante.

    psql -h [DB Private IP] -U [user name] -d postgres
    

    Exemple :

    psql -h 10.0.1.165 -U admin -d postgres
    
  6. Exécutez l'instruction en tant que test pour vérifier la connexion.

    SELECT VERSION();
    

    image

  7. Exécutez l'instruction suivante pour vous connecter en tant qu'utilisateur.

    psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
    

    Exemple :

    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"
    
  8. Exécutez l'instruction suivante pour vérifier si la connexion fonctionne.

    SELECT VERSION();
    

Tâche 3 : connexion à l'aide de DBeaver

Dans cette tâche, nous allons installer DBeaver et nous connecter à PostgreSQL.

  1. Téléchargez et installez DBeaver à partir de l'adresse suivante : DBeaver Community.

  2. Ajoutez les informations d'identification pour vous connecter à la base de données OCI avec PostgreSQL.

    image

  3. Entrez l'adresse IP et le Port 22 de la machine virtuelle. DBeaver utilisera la même instance de machine virtuelle dans le sous-réseau public à l'aide de SSH pour accéder à la base de données OCI avec la base de données PostgreSQL.

    image

  4. (Facultatif) Exécutez l'instruction suivante pour créer une table et charger des données à l'aide de 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;
    

    Présentation de la table créée.

    image

Remerciements

Ressources de formation supplémentaires

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

Pour obtenir la documentation produit, consultez le site Oracle Help Center.