Actualizaciones del motor de base de datos de RDS para PostgreSQL
Hay dos tipos de actualizaciones que se pueden administrar para su base de datos de PostgreSQL:
-
Actualizaciones del sistema operativo: a veces, Amazon RDS puede necesitar actualizar el sistema operativo subyacente de su base de datos para aplicar correcciones de seguridad o cambios del sistema operativo. Puede indicar cuándo Amazon RDS debe aplicar las actualizaciones del SO mediante la consola de RDS, la AWS Command Line Interface (AWS CLI) o la API de RDS. Para obtener más información acerca de las actualizaciones del sistema operativo, consulte Aplicación de actualizaciones a una instancia de base de datos.
-
Actualizaciones del motor de la base de datos: cuando Amazon RDS admita una nueva versión de un motor de base de datos, puede actualizar sus bases de datos a la nueva versión.
En este contexto, una base de datos es una instancia de base de datos de RDS para PostgreSQL o un clúster de base de datos Multi-AZ.
Hay dos tipos de actualizaciones de motores de bases de datos de PostgreSQL: actualizaciones de versiones principales y actualizaciones de versiones secundarias.
- Actualizaciones de la versión principal
-
Las actualizaciones de la versión principal pueden contener cambios realizados en la base de datos que no son compatibles con las versiones anteriores de las aplicaciones. Por lo tanto, debe realizar manualmente las actualizaciones de versiones principales de sus bases de datos. Puede iniciar una actualización de versión principal modificando su instancia de base de datos o clúster de base de datos Multi-AZ. Antes de realizar la actualización de una versión principal, recomendamos que siga los pasos descritos en Elección de una versión principal para una actualización de RDS para PostgreSQL.
Amazon RDS gestiona las actualizaciones de las versiones principales de multi-AZ de las siguientes maneras:
-
Implementación de instancia de base de datos multi-AZ: Amazon RDS actualiza simultáneamente la instancia principal y cualquier instancia en espera. Es posible que la base de datos no esté disponible durante varios minutos mientras se completa la actualización.
-
Implementación de clúster de base de datos multi-AZ: Amazon RDS actualiza de forma simultánea las instancias del lector y del escritor. Es posible que la base de datos no esté disponible durante varios minutos mientras se completa la actualización.
Si actualiza una instancia de base de datos que tiene réplicas de lectura en la región, Amazon RDS actualiza las réplicas junto con la instancia de base de datos principal.
Amazon RDS no actualiza réplicas de lectura de clústeres de base de datos Multi-AZ. Si actualiza la versión principal de un clúster de base de datos multi-AZ, el estado de replicación de las réplicas de lectura cambia a terminado. Debe eliminar las réplicas de lectura y volver a crearlas de forma manual una vez finalizada la actualización.
sugerencia
Puede minimizar el tiempo de inactividad necesario para la actualización de una versión principal mediante una implementación azul/verde. Para obtener más información, consulte Uso de las implementaciones azul/verde de Amazon RDS para actualizar las bases de datos.
-
- Actualizaciones de la versión secundaria
-
Por su parte, las actualizaciones de versiones secundarias solo incluyen cambios compatibles con las versiones anteriores de las aplicaciones. Puede iniciar manualmente una actualización de versiones secundarias modificando su base de datos. O puede habilitar la opción Actualización automática de versiones secundarias al crear o modificar una base de datos. Si lo hace, Amazon RDS actualizará automáticamente su base de datos tras probar y aprobar la nueva versión.
Amazon RDS gestiona las actualizaciones de las versiones secundarias de multi-AZ de las siguientes maneras:
-
Implementación de instancia de base de datos multi-AZ: Amazon RDS actualiza simultáneamente la instancia principal y cualquier instancia en espera. Es posible que la base de datos no esté disponible durante varios minutos mientras se completa la actualización.
-
Implementación de clúster de base de datos multi-AZ: Amazon RDS actualiza las instancias de base de datos del lector de una en una. A continuación, una de las instancias de base de datos de lector pasa a ser la nueva instancia de base de datos de escritor. Amazon RDS actualiza luego la antigua instancia de escritor (que ahora es una instancia de lector). Los clústeres de bases de datos multi-AZ suelen reducir el tiempo de inactividad de las actualizaciones de versiones secundarias a aproximadamente 35 segundos. Cuando se utilizan con RDS Proxy, se puede reducir aún más el tiempo de inactividad a un segundo o menos. Para obtener más información, consulte Amazon RDS Proxy . Otra opción, puede utilizar un proxy de base de datos de código abierto como ProxySQL
, PgBouncer o el controlador de contenedor JDBC avanzado de AWS .
Si la base de datos tiene réplicas de lectura, debe actualizar primero todas las réplicas de lectura antes de actualizar la instancia o el clúster de origen.
Para obtener más información, consulte Actualizaciones de versiones secundarias automáticas de RDS para PostgreSQL. Para obtener más información acerca de cómo realizar manualmente una actualización de versiones secundarias, consulte Actualización manual de la versión del motor.
-
Para obtener más información acerca de las versiones del motor de base de datos y la política para dar de baja versiones del motor de base de datos, consulte Versiones del motor de base de datos
Temas
Aspectos a tener en cuenta sobre las actualizaciones de PostgreSQL
Elección de una versión principal para una actualización de RDS para PostgreSQL
Realización de una actualización de la versión principal de RDS para PostgreSQL
Actualizaciones de versiones secundarias automáticas de RDS para PostgreSQL
Actualización de las extensiones de PostgreSQL en bases de datos de RDS para PostgreSQL
Aspectos a tener en cuenta sobre las actualizaciones de PostgreSQL
Para actualizar de forma segura las bases de datos, Amazon RDS usa la utilidad pg_upgrade
descrita en la documentación de PostgreSQL
Si el periodo de retención de copia de seguridad es mayor que 0, Amazon RDS toma dos instantáneas de base de datos durante el proceso de actualización. La primera instantánea de base de datos es la de la base de datos antes de que se haya llevado a cabo ningún cambio. Si la actualización de sus bases de datos da por resultado un error, puede restaurar esta instantánea para crear una base de datos en la que se ejecuta la versión antigua. La segunda instantánea de base de datos se crea cuando se completa la actualización. Estas instantáneas de bases de datos se eliminan automáticamente una vez que expira el periodo de retención de la copia de seguridad.
nota
Amazon RDS toma instantáneas de base de datos durante el proceso de actualización solo si ha definido el período de retención de copia de seguridad de su base de datos en un número mayor que 0. Para modificar el período de retención de copia de seguridad de una instancia de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS. No puede configurar un período de retención de copia de seguridad personalizado para un clúster de base de datos Multi-AZ.
Al actualizar la versión principal de una instancia de base de datos, todas las réplicas de lectura dentro de la región también se actualizan automáticamente. Una vez que se inicia el flujo de trabajo de actualización, las réplicas de lectura esperan a que pg_upgrade
se complete correctamente en la instancia de base de datos principal. A continuación, la actualización de la instancia de base de datos principal espera a que se complete la actualización de la réplica de lectura. Habrá una interrupción hasta que se complete la actualización. Cuando actualiza la versión principal de un clúster de base de datos Multi-AZ, el estado de replicación de las réplicas de lectura cambia a terminado.
Una vez completada una actualización, no puede volver a la versión anterior del motor de base de datos. Si desea volver a la versión anterior, restaure la instantánea de base de datos que se realizó antes de la actualización para crear una nueva base de datos.
Búsqueda de objetivos de actualización válidos
Cuando se utiliza la AWS Management Console para actualizar una base de datos, muestra los destinos de actualización válidos para la base de datos. También puede utilizar el siguiente comando de la AWS CLI para identificar los destinos de actualización válidos de una base de datos:
Para Linux, macOS o Unix:
aws rds describe-db-engine-versions \ --engine postgres \ --engine-version
version-number
\ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Para Windows:
aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version
version-number
^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Por ejemplo, para identificar los destinos de actualización válidos para una base de datos de la versión 16.1 de PostgreSQL, ejecute el siguiente comando de la AWS CLI:
Para Linux, macOS o Unix:
aws rds describe-db-engine-versions \ --engine postgres \ --engine-version 16.1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Para Windows:
aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version 16.1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text