Utilice el modo sin tiempo de inactividad para actualizar la versión principal del motor de una instancia de ApsaraDB RDS for PostgreSQL y mantener la base de datos completamente operativa. La instancia acepta operaciones de lectura y escritura durante todo el proceso. Durante el cambio final, la instancia entra en modo de solo lectura por unos pocos segundos; la duración exacta depende de la cantidad de secuencias y del volumen de escrituras de transacciones grandes.
Para conocer otros métodos de actualización, consulte Introduction to major version upgrade solutions.
Funcionamiento
El modo sin tiempo de inactividad ejecuta pg_upgrade para actualizar una instantánea de su instancia a la versión destino y luego utiliza la replicación lógica nativa para sincronizar los cambios incrementales desde el origen. Usted debe verificar la instancia de destino antes de iniciar el cambio. Al comenzar el cambio, la instancia pasa brevemente a solo lectura mientras se sincronizan las secuencias y, posteriormente, el tráfico se redirige a la nueva versión.
Facturación
Sin costo adicional.
Requisitos previos
Antes de empezar, asegúrese de que:
La instancia ejecute ApsaraDB RDS for PostgreSQL 16 o una versión anterior.
El tipo de almacenamiento sea disco en la nube. Las instancias con discos locales de alto rendimiento solo pueden usar blue-green deployment mode.
El método de facturación sea pay-as-you-go o suscripción. Las instancias serverless solo pueden usar blue-green deployment mode.
La instancia no sea una read-only instance ni una dedicated cluster instance.
El parámetro
wal_levelesté establecido enlogical. Las actualizaciones sin tiempo de inactividad dependen de la replicación lógica, por lo que siwal_levelestá enreplicaominimal, la comprobación previa a la actualización fallará. De lo contrario, modify the instance parameters antes de continuar.Babelfish no esté habilitado. El número de versión menor del motor no debe terminar con
babelfish.
Notas de uso
Revise la siguiente información antes de iniciar la actualización.
Impacto en el negocio
Las operaciones DDL (Lenguaje de Definición de Datos) están prohibidas desde el momento en que comienza la actualización hasta que se completa el cambio. El tiempo de inactividad de la instancia de origen se mide en segundos y depende de la cantidad de secuencias y del volumen de escrituras de transacciones grandes.
Slots de replicación
Si la instancia de origen tiene una publicación (extremo publicador de un slot de replicación), dicho slot se pierde después de la actualización.
Si la instancia de origen tiene un suscriptor (extremo suscriptor de un slot de replicación), la actualización puede causar problemas de sincronización de datos debido a la apropiación del slot de replicación. Consulte la sección de preguntas frecuentes para obtener más detalles.
Cambios de parámetros
Los parámetros no compatibles con la versión de destino se eliminan automáticamente.
Los parámetros cuyos valores caen fuera del rango válido para la versión de destino se restablecen a los valores predeterminados de la plantilla de parámetros de dicha versión.
statement_timeoutse establece temporalmente en0durante la actualización y se restaura a su valor original al finalizar.
Tareas de DTS
Si la instancia es origen o destino de Data Transmission Service (DTS), recreate the DTS task después de la actualización.
Compatibilidad de plugins
La actualización lleva la instancia automáticamente a la última versión menor del motor, lo cual puede causar problemas de compatibilidad con los plugins.
Copias de seguridad
Se realiza una copia de seguridad completa tanto antes como después de la actualización para permitir la recuperación basada en clonación.
Impacto en las distintas etapas de la actualización
|
Etapa de la actualización |
Impacto |
|
Inicio de la actualización de versión principal |
Se prohíben las operaciones DDL. |
|
Creación de slots de replicación y publicaciones |
Se prohíben las operaciones DDL. Los registros WAL comienzan a acumularse. |
|
Inicio del suscriptor y establecimiento de la relación de replicación lógica |
Se prohíben las operaciones DDL. Los registros WAL comienzan a consumirse y dejan de acumularse. La replicación lógica genera cierta carga de recursos, la cual está estrechamente relacionada con la cantidad de bases de datos y el tráfico. |
|
Inicio del cambio |
Se prohíben las operaciones DDL. La replicación lógica genera cierta carga de recursos, la cual está estrechamente relacionada con la cantidad de bases de datos y el tráfico. La instancia pasa a solo lectura; la duración de este estado depende de la cantidad de secuencias. |
|
Finalización del cambio (actualización completada) |
Se elimina el slot de replicación lógica y se elimina la carga de recursos generada por dicha replicación. La instancia reanuda las operaciones normales de lectura y escritura. |
Una vez iniciada la tarea de actualización, vaya a la pestaña Upgrade History. En la columna Upgrade Log de la tarea de actualización correspondiente, haga clic en View Information para consultar el proceso detallado de la actualización.
Paso 1: Ejecutar una comprobación previa a la actualización
Inicie sesión en la consola de ApsaraDB RDS. En la barra de navegación superior, seleccione la región donde reside la instancia, localícela y haga clic en su ID.
-
En el panel de navegación izquierdo, haga clic en Major Version Upgrade.
Si Major Version Upgrade no aparece, compruebe la versión y la configuración de su instancia. Para más detalles, consulte Prerequisites .
En la pestaña Upgrade Check, haga clic en Create upgrade check report.
Seleccione la versión de destino, establezca Upgrade Mode en Zero Downtime y haga clic en OK. El estado de la instancia cambia a Maintaining Instance. Una vez completada la comprobación, el estado vuelve a Running.
-
Revise el resultado de la comprobación: Para ayuda sobre cómo interpretar los resultados, consulte Interpret an ApsaraDB RDS for PostgreSQL major version upgrade check report.
Success o Warning: continúe con el Paso 2.
Failed: haga clic en View Information, corrija los problemas reportados y vuelva a ejecutar la comprobación.
ImportanteSi el resultado es Warning, corrija todos los problemas reportados y vuelva a ejecutar la comprobación hasta que el resultado sea Success. - Si crea un plugin en la instancia principal después de una comprobación exitosa, ejecute la comprobación nuevamente antes de actualizar.
Paso 2: Iniciar la actualización
Antes de realizar este paso, asegúrese de haber completado el Paso 1: Ejecutar una comprobación previa a la actualización: en la pestaña Upgrade Check, cree un informe de comprobación de actualización y confirme que el resultado sea Success o Warning antes de crear la tarea de actualización.
Haga clic en la pestaña Upgrade Instance, lea las advertencias, seleccione una versión en Select The Destination Version y haga clic en Create Upgrade Task.
En el cuadro de diálogo, lea el mensaje y haga clic en OK.
En la sección Create Major Engine Version Upgrade Task, establezca Upgrade Mode en Zero Downtime y haga clic en Create.
Cuando el estado de la instancia cambie a Migrating, la tarea de actualización habrá comenzado.
El tiempo requerido depende de la cantidad de objetos de base de datos en la instancia: a mayor cantidad de objetos, mayor será la duración. Puede seguir el progreso en Task Hub.
Las tareas de actualización no se pueden modificar ni eliminar después de su creación.
Mientras la instancia esté en estado Migrating, no se admiten tareas de O&M (operaciones y mantenimiento) como modificar parámetros, reiniciar o liberar la instancia.
Paso 3: Verificar y realizar el cambio
Verificar la instancia de destino
Cuando el estado de la instancia cambia de Migrating a Migrating Data Out, se establece la replicación lógica y la instancia de destino queda lista para su verificación.
Vaya a la pestaña Upgrade History y utilice la Later Version Verification URL del registro de actualización para conectarse a la instancia de destino y verificar los datos.
La instancia de destino se encuentra en modo de solo lectura durante esta fase. No se admiten operaciones de escritura.
Cambiar a la nueva versión
-
Después de confirmar que los datos cumplen con sus expectativas y que el Upgrade Result muestra Synchronizing, haga clic en Switchover en la columna Upgrade Log.
- Si Upgrade Result muestra un estado diferente, consulte Upgrade result descriptions . - Para abandonar la actualización, haga clic en Cancel en la columna Upgrade Log . Esto elimina el slot de replicación lógica, quita la sobrecarga de replicación de la instancia de origen y rehabilita las operaciones DDL.
En el cuadro de diálogo Switchover, establezca Write Downtime Tolerance (en segundos) y haga clic en OK. Esta configuración indica al sistema que espere a que se despeje el retraso de replicación antes de completar el cambio, lo cual garantiza la consistencia de los datos. Durante esta espera, Upgrade Result muestra Read-only. Si se excede el período de tolerancia, el sistema vuelve a Synchronizing y elimina la restricción de solo lectura. Cuando Upgrade Result cambia a Read-only, el cambio está en curso y el estado de la instancia es Migrating. Para cancelar un cambio ya iniciado, haga clic en Interrupted en la columna Upgrade Log.
-
Cuando Upgrade Result cambia a Succeeded, el cambio ha finalizado y el estado de la instancia es Running. Compruebe la versión actual en la página Basic Information de la instancia.
Para ver la duración exacta del modo de solo lectura después de la actualización, vaya a la pestaña Upgrade History y haga clic en View Information en la columna Upgrade Log . El tiempo de solo lectura corresponde al intervalo entre Switching time y Switching completion time , y no incluye el tiempo en que la instancia no es accesible debido a la propagación de la caché DNS.
Descripción de los resultados de actualización
La columna Upgrade Result en la pestaña Upgrade History muestra uno de los siguientes valores durante la actualización.
|
Resultado de la actualización |
Estado de la instancia |
Descripción |
Acciones disponibles |
|
Running |
Migrating |
La tarea de actualización se está ejecutando. |
Ninguna. |
|
Synchronizing |
Migrating Data Out |
La replicación lógica funciona correctamente. |
Cambiar a la nueva versión o cancelar la actualización. |
|
Replication Interrupted |
Migrating Data Out |
La replicación lógica presenta anomalías. |
Consultar el registro de actualización para determinar la causa o cancelar la actualización. |
|
Read-only |
Migrating |
El cambio está en curso. La instancia se encuentra en modo de solo lectura mientras se sincronizan las secuencias. |
Interrumpir: cancelar el cambio. |
|
Switchover |
Migrating |
La sincronización de secuencias ha finalizado; se está completando el cambio. |
Ninguna. |
|
Cancel |
Running |
La tarea de actualización fue cancelada. |
Ninguna. |
|
Succeeded |
Running |
La tarea de actualización se completó correctamente. |
Ninguna. |
Referencia de API
|
Operación de API |
Descripción |
|
Ejecuta una comprobación previa para una actualización de versión principal. |
|
|
Consulta el informe de comprobación previa a la actualización. |
|
|
Actualiza la versión principal del motor. |
|
|
Consulta el historial de tareas de actualización de versión principal. |