En este documento se describe cómo solucionar los problemas que pueden surgir al actualizar tu base de datos de AlloyDB para PostgreSQL a una versión principal in situ. Para obtener más información, consulta Actualizar una versión principal de una base de datos in situ. Para obtener información sobre los errores de actualización de la versión principal in situ de la base de datos, consulta Errores de actualización de la versión principal in situ de la base de datos.
Para analizar los fallos de actualización, identifica la fase de actualización fallida en la respuesta y usa la información de este documento para identificar posibles soluciones.
AlloyDB valida tu solicitud de forma síncrona y devuelve 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 igual o inferior a la versión principal actual.
- Los recursos del clúster están 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á en estado
READY
.
Si la solicitud es válida, la actualización puede fallar por los siguientes motivos:
- Las comprobaciones previas a la actualización que se realizan en varias fases pueden fallar, lo que indica que se han detectado infracciones. Debes solucionar estas infracciones antes de reiniciar la actualización.
- Los errores internos significan que debes volver a intentar la actualización. Si los reintentos fallan, ponte en contacto con el equipo de Asistencia de Google Cloud.
Errores en la comprobación previa a la actualización de AlloyDB
Los errores de comprobación previa a la actualización pueden producirse en cualquiera de las siguientes fases:
- Comprobaciones previas a la actualización de AlloyDB (
ALLOYDB_PRECHECK
) pg_upgrade
comprobaciones (PG_UPGRADE_CHECK
)- Actualizaciones del clúster principal (
PRIMARY_INSTANCE_UPGRADE
)
Los fallos de comprobación previa a la actualización son problemas que AlloyDB detecta durante la fase de validación previa a la actualización, que pueden provocar que falle la actualización de la versión principal in situ. Por ejemplo, AlloyDB comprueba si hay incompatibilidades de extensiones entre la versión principal actual y la de destino.
Los mensajes de error se rellenan en logs_url
en la respuesta de la operación de actualización. Para ver estos registros, ve a Explorador de registros en la Google Cloud consola. Para obtener más información, consulta Ver registros de actualización.
Para ver los errores y los mensajes de error correspondientes que pueden aparecer en los registros, consulta Errores de actualización de la versión principal in situ de la base de datos.
A continuación, se muestra un ejemplo del resumen que generan en los registros las comprobaciones previas a la actualización de AlloyDB:
Total number of databases checked for custom checks: 3 Total number of databases containing pg_largeobject: 0 Total number of databases containing event triggers permissions issue: 0 Total number of databases containing extensions compatibility violation: 1 Total number of databases containing search path violations: 0
Errores de comprobación de pg_upgrade
PG_UPGRADE_CHECK
comprueba si hay infracciones mediante la utilidad estándar pg_upgrade
. Esta comprobación de la actualización incluye las incoherencias de datos que surgen de varios factores, como las diferencias en las estructuras de datos específicas de la versión, las alteraciones en la codificación y la ordenació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 al archivo de registro postgres_upgrade
. Puedes filtrar estos archivos con la etiqueta labels.FILE_NAME
.
Estos son algunos de los nombres de archivo que pueden contener errores que debes resolver:
Nombre de archivo | Descripción |
---|---|
|
Este archivo contiene tablas que se muestran con identificadores de objeto (OIDs). Elimina las tablas o modifícalas para que no usen OIDs. |
|
Este archivo contiene tablas que se enumeran mediante tipos compuestos definidos por el sistema. Elimina las tablas o modifícalas para que no usen estos tipos compuestos. |
|
Este archivo contiene tablas que se enumeran con el tipo de datos UNKNOWN . Elimina las tablas o modifícalas para que no usen este tipo de datos. |
|
Este archivo contiene tablas que se enumeran con el tipo de datos SQL_IDENTIFIER . Elimina las tablas o
modifícalas para que no usen este tipo de datos. |
|
Este archivo contiene tablas que se enumeran con el tipo de datos REG*
–por ejemplo, REGCOLLATION o
REGNAMESPACE . Elimina las tablas o modifícalas para que no usen este tipo de datos. |
|
Este archivo contiene tablas que se enumeran mediante operadores postfix
(unarios por la derecha). Elimina las tablas o modifícalas para que no usen estos operadores. |
Errores de pg_upgrade
La estructura de los registros de PG_UPGRADE
es similar a la de los registros de PG_UPGRADE_CHECK
.
A continuación, se muestra 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.
Siguientes pasos
- Consulta información sobre los errores de actualización de la versión principal in situ de la base de datos.
- Consulta cómo realizar una actualización in situ de la versión principal de una base de datos.