Soluciona problemas de una actualización local de la versión principal

En este documento, se describe cómo solucionar problemas que podrías encontrar cuando actualizas tu base de datos de AlloyDB para PostgreSQL a una versión principal sin interrumpir la actividad. Para obtener más información, consulta Actualiza la versión principal de una base de datos de manera local. Para obtener información sobre los errores de actualización de versión principal in situ, consulta Errores de actualización de versión principal in situ de la base de datos.

Para analizar las fallas de actualización, identifica la etapa de actualización fallida en la respuesta y usa la información de este documento para identificar posibles resoluciones.

AlloyDB valida tu solicitud de forma síncrona y muestra un mensaje de error si se cumple alguna de las siguientes condiciones:

  • La solicitud no es válida. Por ejemplo, si la versión principal de destino proporcionada no es compatible o es menor o igual que la versión principal actual.
  • Los recursos del clúster se encuentran en un estado en el que no se puede activar la actualización de la versión principal. Por ejemplo, si el clúster o alguna de las instancias asociadas no están en un estado READY.

Si la solicitud es válida, es posible que la actualización falle por los siguientes motivos:

  • Las verificaciones previas a la actualización que se realizan en varias etapas pueden fallar, lo que indica que se detectaron incumplimientos. Debes corregir estos incumplimientos antes de reiniciar la actualización.
  • Los errores internos indican que debes volver a intentar la actualización. Si las reintentos fallan, comunícate con la Asistencia de Google Cloud.

Fallas de la verificación previa a la actualización de AlloyDB

Las fallas de la verificación previa a la actualización pueden ocurrir durante cualquiera de las siguientes etapas:

  • Verificaciones previas a la actualización de AlloyDB (ALLOYDB_PRECHECK)
  • Verificaciones de pg_upgrade (PG_UPGRADE_CHECK)
  • Actualizaciones del clúster principal (PRIMARY_INSTANCE_UPGRADE)

Las fallas de verificación previas a la actualización son problemas que AlloyDB detecta durante la fase de validación previa a la actualización, lo que puede provocar que falle la actualización de versión principal in situ. Por ejemplo, AlloyDB verifica las incompatibilidades de extensión entre la versión principal actual y la de destino.

Los mensajes de error se propagan en logs_url en la respuesta de la operación de actualización. Para ver estos registros, navega al Explorador de registros en la consola de Google Cloud. Para obtener más información, consulta Cómo ver los registros de actualización.

Para ver las fallas y los mensajes de error correspondientes que podrías ver en los registros, consulta Errores de actualización de versión principal de la base de datos sin migración.

El siguiente es un ejemplo del resumen que generan las verificaciones previas a la actualización de AlloyDB en los registros:

Total number of databases checked for custom checks: 
Total number of databases containing pg_largeobject: 
Total number of databases containing extensions compatibility violation: 

Fallas en las verificaciones de pg_upgrade

PG_UPGRADE_CHECK verifica si hay incumplimientos con la utilidad pg_upgrade estándar. Esta verificación de actualización incluye incoherencias de datos que surgen de varios factores, incluidas las diferencias en las estructuras de datos específicas de la versión, las alteraciones en la codificación y la intercalación, las modificaciones en los tipos de datos y los ajustes en el catálogo del sistema.

Varios archivos, como tables_with_oids.txt y tables_using_reg.txt, que se generan durante pg_upgrade, se exportan a postgres_upgrade. Puedes filtrar estos archivos con la etiqueta labels.FILE_NAME.

Estos son algunos nombres de archivos que pueden contener errores de resolución:

Nombre del archivo Descripción

tables_with_oids.txt

Este archivo contiene tablas que se enumeran con identificadores de objetos (OID). Borra las tablas o modifícalas para que no usen OID.

tables_using_composite.txt

Este archivo contiene tablas que se enumeran mediante tipos compuestos definidos por el sistema. Borra las tablas o modifícalas para que no usen estos tipos compuestos.

tables_using_unknown.txt

Este archivo contiene tablas que se enumeran mediante el tipo de datos UNKNOWN. Borra las tablas o modifícalas para que no usen este tipo de datos.

tables_using_sql_identifier.txt

Este archivo contiene tablas que se enumeran mediante el tipo de datos SQL_IDENTIFIER. Borra las tablas o modifícalas para que no usen este tipo de datos.

tables_using_reg.txt

Este archivo contiene tablas que se enumeran mediante el tipo de datos REG* (por ejemplo, REGCOLLATION o REGNAMESPACE). Borra las tablas o modifícalas para que no usen este tipo de datos.

postfix_ops.txt

Este archivo contiene tablas que se enumeran mediante operadores postfix (unario derecho). Borra las tablas o modifícalas para que no usen estos operadores.

Fallas de pg_upgrade

La estructura de los registros de PG_UPGRADE es similar a la de los registros de PG_UPGRADE_CHECK.

El siguiente es un ejemplo de un registro con la etiqueta labels.FILE_NAME=pg_upgrade_dump*.log::

pg_upgrade_dump: error: query failed: ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.

¿Qué sigue?