Amazon RDS: funciones de PostgreSQL

PostgreSQL es un poderoso sistema de base de datos relacional de objetos de código abierto que ha construido una sólida reputación de confiabilidad, solidez y rendimiento. AWS RDS ejecuta varias versiones de PostgreSQL. Admite la recuperación y la copia de seguridad en un momento dado, tomando instantáneas de la base de datos y ejecutándolas en un entorno de varias zonas de disponibilidad.

Versiones compatibles

Las versiones 9.3 a 10.4 son las versiones principales compatibles con la plataforma RDS. Si no se menciona ninguna versión durante la creación de la base de datos, la versión predeterminada es la más reciente en ese momento. A continuación, se muestra un ejemplo de cómo obtener todas las versiones de DB Engine compatibles con la API de AWS en el SDK de Python.

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

print(response)

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

{
   "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'": []
      }
   ]
}

Entorno de vista previa de la base de datos

La comunidad de PostgreSQL lanza constantemente nuevas versiones y extensiones. Puede probar nuevas versiones y extensiones de PostgreSQL antes de que sean totalmente compatibles con Aws RDS. Para hacer esto, puede crear una nueva instancia de la base de datos en el entorno de vista previa de la base de datos.

Las instancias de base de datos en el entorno de vista previa de la base de datos son similares a las instancias de base de datos en el entorno de producción. Sin embargo, hay varios factores importantes a tener en cuenta:

  • Todas las instancias de la base de datos se eliminan 60 días después de su creación, junto con todas las copias de seguridad e instantáneas.

  • Solo puede crear una instancia de base de datos en una nube privada virtual (VPC) basada en Amazon VPC.

  • Solo puede crear instancias de los tipos M4, T2 y R4. Para obtener más información sobre las clases de instancias de RDS,

  • No puede obtener ayuda de AWS Support con sus instancias de base de datos. Puede publicar sus preguntas en el foro de vista previa de la base de datos RDS.

  • Solo puede usar SSD genérico y almacenamiento SSD IOPS dedicado.

  • No puede copiar una instantánea de una instancia de base de datos en un entorno de producción.

  • Algunas funciones de Amazon RDS no están disponibles en el entorno de vista previa, como se describe a continuación.

Replicación lógica

La replicación lógica es un método para replicar objetos de datos y sus cambios en función de su identidad de replicación (generalmente la clave principal). La replicación lógica utiliza un modelo de publicación y suscripción en el que uno o más suscriptores se suscriben a una o más publicaciones en el sitio del editor. Los suscriptores recuperan datos de las publicaciones a las que se suscriben y, posteriormente, pueden volver a publicar los datos para permitir la replicación en cascada o configuraciones más complejas. Se utiliza para las siguientes acciones.

  • Enviar cambios incrementales a los suscriptores en una base de datos individual o subconjunto de una base de datos a medida que estén disponibles.

  • Combinar varias bases de datos en una (por ejemplo, con fines analíticos).

  • Replicación entre diferentes versiones principales de PostgreSQL.

  • Replicación entre instancias de PostgreSQL en diferentes plataformas (por ejemplo, de Linux a Windows)

  • Proporcionar acceso a datos replicados a varios grupos de usuarios.

  • Compartir un subconjunto de una base de datos en varias bases de datos.

Habilitación de la replicación lógica para Amazon RDS para la instancia de base de datos PostgreSQL

  • La cuenta de usuario de AWS requiere la función rds_superuser para realizar la replicación lógica para la base de datos PostgreSQL en Amazon RDS.

  • Establezca el parámetro rds.logical_replication en 1.

  • Modifique las reglas del grupo de seguridad entrante para la instancia del publicador (producción) para permitir que la instancia del suscriptor (réplica) se conecte. Esto generalmente se hace agregando la dirección IP del suscriptor a un grupo de seguridad.

🚫