Exemple : utilisation de la réplication logique avec les clusters de bases de données Aurora PostgreSQL - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple : utilisation de la réplication logique avec les clusters de bases de données Aurora PostgreSQL

La procédure suivante vous indique comment démarrer la réplication logique entre deux clusters de bases de données Aurora PostgreSQL. L’éditeur et l’abonné doivent être configurés pour la réplication logique, comme indiqué dans Configuration de la réplication logique pour votre cluster de bases de données Aurora PostgreSQL.

Le cluster de bases de données Aurora PostgreSQL qui est l’éditeur désigné doit également autoriser l’accès à l’emplacement de réplication. Pour ce faire, modifiez le groupe de sécurité associé au cloud privé virtuel (VPC) du cluster de bases de données Aurora PostgreSQL basé sur le service Amazon VPC. Autorisez l’accès entrant en ajoutant le groupe de sécurité associé au VPC de l’abonné au groupe de sécurité de l’éditeur. Pour plus d’informations, consultez la rubrique Contrôler le trafic vers les ressources à l’aide de groupes de sécurité dans le Guide de l’utilisateur Amazon Virtual Private Cloud.

Une fois ces étapes préliminaires terminées, vous pouvez utiliser les commandes PostgreSQL CREATE PUBLICATION sur le serveur de publication et CREATE SUBSCRIPTION sur l’abonné, comme indiqué dans la procédure suivante.

Démarrer le processus de réplication logique entre deux clusters de bases de données Aurora PostgreSQL

Ces étapes supposent que vos clusters de bases de données Aurora PostgreSQL disposent d’une instance d’enregistreur avec une base de données dans laquelle créer les tables d’exemple.

  1. Sur le cluster de bases de données Aurora PostgreSQL de l’éditeur

    1. Créez une table en utilisant l’instruction SQL suivante.

      CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
    2. Insérez les données dans la base de données éditeur à l’aide de l’instruction SQL suivante.

      INSERT INTO LogicalReplicationTest VALUES (generate_series(1,10000));
    3. Vérifiez que les données existent dans la table à l’aide de l’instruction SQL suivante.

      SELECT count(*) FROM LogicalReplicationTest;
    4. Créez une publication pour cette table à l’aide de l’instruction CREATE PUBLICATION, comme suit.

      CREATE PUBLICATION testpub FOR TABLE LogicalReplicationTest;
  2. Sur le cluster de bases de données Aurora PostgreSQL de l’abonné

    1. Créez la même table LogicalReplicationTest sur l’abonné que celle que vous avez créée sur l’éditeur, comme suit.

      CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
    2. Vérifiez que cette table est vide.

      SELECT count(*) FROM LogicalReplicationTest;
    3. Créez un abonnement pour obtenir les modifications de la part de l’éditeur. Vous devez utiliser les informations suivantes concernant le cluster de bases de données Aurora PostgreSQL de l’éditeur.

      • host – Instance de base de données en écriture du cluster de bases de données Aurora PostgreSQL de l’éditeur.

      • port – Port sur lequel l’instance de base de données écoute. La valeur par défaut pour PostgreSQL est 5432.

      • dbname – Nom de la base de données.

      CREATE SUBSCRIPTION testsub CONNECTION 'host=publisher-cluster-writer-endpoint port=5432 dbname=db-name user=user password=password' PUBLICATION testpub;
      Note

      Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

      Une fois que l’abonnement est créé, un emplacement de réplication logique est créé chez l’éditeur.

    4. Pour vérifier dans cet exemple que les données initiales sont répliquées sur l’abonné, utilisez l’instruction SQL suivante sur la base de données abonné.

      SELECT count(*) FROM LogicalReplicationTest;

Toute modification ultérieure sur l’éditeur sera répliquée sur l’abonné.

La réplication logique affecte les performances. Nous vous recommandons de désactiver la réplication logique une fois vos tâches de réplication terminées.