Amazon RDS: funciones de PostgreSQL
PostgreSQL es un potente sistema de base de datos relacional de objetos de código abierto que se ha ganado una sólida reputación por su fiabilidad, solidez de funciones y rendimiento. AWS RDS ejecuta varias versiones de PostgreSQL. Admite la restauración y las copias de seguridad en un momento determinado, la creación de instantáneas de base de datos y su ejecución en un entorno de varias zonas de disponibilidad.
Las versiones 9.3 a 10.4 son las versiones principales admitidas en 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 un programa de Python SDK.
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'": []
}
]
}
La comunidad de PostgreSQL lanza nuevas versiones y nuevas extensiones continuamente. Puede probar nuevas versiones y extensiones de PostgreSQL antes de que sean totalmente compatibles con Aws RDS. Para hacerlo, puede crear una nueva instancia de 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 un entorno de producción. Sin embargo, tenga en cuenta varios factores importantes:
Todas las instancias de base de datos se eliminan 60 días después de crearlas, junto con las copias de seguridad y las instantáneas.
Solo puede crear una instancia de base de datos en una nube privada virtual (VPC) basada en el servicio Amazon VPC.
Solo puede crear tipos de instancia 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 instancias de base de datos. Puede publicar sus preguntas en el Foro de entorno de vista previa de la base de datos RDS.
Solo puede usar almacenamiento SSD de uso general y SSD de IOPS aprovisionado.
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.
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 una clave principal). La replicación lógica utiliza un modelo de publicación y suscripción con uno o más suscriptores que se suscriben a una o más publicaciones en un nodo de editor. Los suscriptores extraen datos de las publicaciones a las que se suscriben y pueden volver a publicarlos posteriormente para permitir la replicación en cascada o configuraciones más complejas. Se utiliza para las siguientes acciones.
Enviar cambios incrementales en una sola base de datos o un subconjunto de una base de datos a los suscriptores a medida que ocurren.
Consolidar múltiples bases de datos en una sola (por ejemplo, con fines analíticos).
Replicar entre diferentes versiones principales de PostgreSQL.
Replicar entre instancias de PostgreSQL en diferentes plataformas (por ejemplo, de Linux a Windows)
Dar acceso a datos replicados a diferentes grupos de usuarios.
Compartir un subconjunto de la base de datos entre varias bases de datos.
Para habilitar la replicación lógica para una instancia de base de datos de Amazon RDS para 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 de entrada del grupo de seguridad para la instancia del editor (producción) para permitir que la instancia del suscriptor (réplica) se conecte. Esto generalmente se hace incluyendo la dirección IP del suscriptor en el grupo de seguridad.