Amazon RDS - Fonctionnalités PostgreSQL

PostgreSQL est un puissant système de base de données relationnelle objet open source qui s'est forgé une solide réputation de fiabilité, de robustesse des fonctionnalités et de performances. AWS RDS exécute différentes versions de PostgreSQL. Il prend en charge la restauration et les sauvegardes à un moment donné, la création d'instantanés de base de données et son exécution dans un environnement multi-AZ.

Les versions 9.3 à 10.4 sont les principales versions prises en charge par la plate-forme RDS. Si aucune version n'est mentionnée lors de la création de la base de données, elle utilise par défaut la version la plus récente à ce moment-là. Vous trouverez ci-dessous un exemple de la façon d'obtenir toutes les versions de DB Engine prises en charge à l'aide de l'API AWS dans un programme SDK python.

import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='postgres',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
      "HTTPHeaders": {
         "x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
         "date": "Fri, 14 Sep 2018 07:31:34 GMT",
         "content-length": "995",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "postgres",
         "u'DBParameterGroupFamily'": "postgres10",
         "u'SupportsLogExportsToCloudwatchLogs'": false,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "PostgreSQL",
         "u'EngineVersion'": "10.4",
         "u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
         "u'ValidUpgradeTarget'": []
      }
   ]
}

La communauté PostgreSQL publie de nouvelles versions et de nouvelles extensions en permanence. Vous pouvez essayer les nouvelles versions et extensions de PostgreSQL avant qu'elles ne soient entièrement prises en charge par Aws RDS. Pour ce faire, vous pouvez créer une nouvelle instance de base de données dans l'environnement de prévisualisation de la base de données.

Les instances de base de données dans l'environnement de prévisualisation de la base de données sont similaires aux instances de base de données dans un environnement de production. Cependant, gardez à l'esprit plusieurs facteurs importants:

  • Toutes les instances de base de données sont supprimées 60 jours après leur création, ainsi que toutes les sauvegardes et instantanés.

  • Vous ne pouvez créer une instance de base de données que dans un cloud privé virtuel (VPC) basé sur le service Amazon VPC.

  • Vous ne pouvez créer que des types d'instances M4, T2 et R4. Pour plus d'informations sur les classes d'instance RDS,

  • Vous ne pouvez pas obtenir d'aide d'AWS Support avec les instances de base de données. Vous pouvez publier vos questions sur le forum de l'environnement de prévisualisation de la base de données RDS.

  • Vous ne pouvez utiliser que le stockage SSD à usage général et le stockage SSD IOPS provisionné.

  • Vous ne pouvez pas copier un instantané d'une instance de base de données dans un environnement de production.

  • Certaines fonctionnalités d'Amazon RDS ne sont pas disponibles dans l'environnement d'aperçu, comme décrit ci-dessous.

La réplication logique est une méthode de réplication des objets de données et de leurs modifications, en fonction de leur identité de réplication (généralement une clé primaire). La réplication logique utilise un modèle de publication et d'abonnement avec un ou plusieurs abonnés souscrivant à une ou plusieurs publications sur un nœud d'éditeur. Les abonnés extraient les données des publications auxquelles ils sont abonnés et peuvent par la suite republier les données pour permettre une réplication en cascade ou des configurations plus complexes. Il est utilisé pour les actions ci-dessous.

  • Envoi de modifications incrémentielles dans une seule base de données ou un sous-ensemble d'une base de données aux abonnés au fur et à mesure qu'elles se produisent.

  • Consolider plusieurs bases de données en une seule (par exemple à des fins d'analyse).

  • Réplication entre différentes versions majeures de PostgreSQL.

  • Réplication entre des instances PostgreSQL sur différentes plates-formes (par exemple Linux vers Windows)

  • Donner accès aux données répliquées à différents groupes d'utilisateurs.

  • Partage d'un sous-ensemble de la base de données entre plusieurs bases de données.

Pour activer la réplication logique pour une instance de base de données Amazon RDS pour PostgreSQL

  • Le compte d'utilisateur AWS nécessite le rôle rds_superuser pour effectuer la réplication logique de la base de données PostgreSQL sur Amazon RDS.

  • Définissez le paramètre rds.logical_replication sur 1.

  • Modifiez les règles entrantes du groupe de sécurité pour l'instance d'éditeur (production) pour permettre à l'instance d'abonné (réplique) de se connecter. Cela se fait généralement en incluant l'adresse IP de l'abonné dans le groupe de sécurité.