Solución de problemas en Aurora DSQL - Amazon Aurora DSQL

Solución de problemas en Aurora DSQL

nota

En los siguientes temas se proporcionan consejos para la solución de problemas y errores que puede encontrar al utilizar Aurora DSQL. Si encuentra un problema que no figura en esta lista, póngase en contacto con el servicio de asistencia de AWS

Solución de problemas de errores de conexión

error: código de error SSL no reconocido: 6

Causa: puede que esté utilizando una versión de psql anterior a la versión 14, que no admite la indicación de nombre de servidor (SNI). La SNI es necesaria cuando se conecta a Aurora DSQL.

Puede comprobar la versión de cliente con psql --version.

error: NetworkUnreachable

Es posible que un error NetworkUnreachable durante los intentos de conexión indique que el cliente no admite conexiones IPv6, en lugar de señalar un problema real de red. Este error suele producirse en instancias que solo utilizan IPv4 debido a la forma en que los clientes de PostgreSQL gestionan las conexiones de doble pila. Cuando un servidor admite el modo de doble pila, estos clientes primero resuelven los nombres de host a direcciones IPv4 e IPv6. Primero intentan establecer una conexión IPv4 y, a continuación, prueban con IPv6 si la conexión inicial produce un error. Si el sistema no es compatible con IPv6, verá un error general NetworkUnreachable en lugar de un mensaje claro que diga “IPv6 no es compatible”.

Solución de problemas de errores de autenticación

Error de autenticación de IAM para el usuario “…”

Cuando genera un token de autenticación de IAM de Aurora DSQL, la duración máxima que puede establecer es de una semana. Después de una semana, no podrá autenticarse con ese token.

Además, Aurora DSQL rechaza la solicitud de conexión si el rol asumido ha caducado. Por ejemplo, si intenta conectarse con un rol de IAM temporal aunque el token de autenticación no haya caducado, Aurora DSQL rechazará la solicitud de conexión.

Para obtener más información sobre cómo funciona IAM con Aurora DSQL, consulte Descripción de la autenticación y autorización para Aurora DSQL y AWS Identity and Access Management en Aurora DSQL.

An error occurred (InvalidAccessKeyId) when calling the GetObject operation: The AWS Access Key ID you provided does not exist in our records

IAM ha rechazado la solicitud. Para obtener más información, consulte Por qué se firman las solicitudes.

IAM role <role> does not exist

Aurora DSQL no ha podido encontrar el rol de IAM. Para obtener más información, consulte Roles de IAM.

IAM role must look like an IAM ARN

Consulte Identificadores IAM: ARN de IAM para obtener más información.

Solución de problemas de errores de autorización

Role <role> not supported

Aurora DSQL no admite la operación GRANT. Consulte Subconjuntos de comandos PostgreSQL admitidos en Aurora DSQL.

Cannot establish trust with role <role>

Aurora DSQL no admite la operación GRANT. Consulte Subconjuntos de comandos PostgreSQL admitidos en Aurora DSQL.

El rol <rol> no existe

Aurora DSQL no ha podido encontrar el usuario de base de datos especificado. Consulte Autorización de roles personalizados de base de datos para conectarse a un clúster.

ERROR: permission denied to grant IAM trust with role <role>

Para conceder acceso a un rol de base de datos, debe estar conectado al clúster con el rol de administrador. Para obtener más información, consulte Autorización de roles de base de datos para utilizar SQL en una base de datos.

ERROR: role <role> must have the LOGIN attribute

Todos los roles de base de datos que cree deben tener el permiso LOGIN.

Para solucionar este error, asegúrese de que ha creado el rol de PostgreSQL con el permiso LOGIN. Para obtener más información, consulte CREATE ROLE y ALTER ROLE en la documentación de PostgreSQL.

ERROR: role <role> cannot be dropped because some objects depend on it

Aurora DSQL devuelve un error si descarta un rol de base de datos con una relación de IAM hasta que revoque la relación mediante AWS IAM REVOKE. Para obtener más información, consulte Revocación de la autorización.

Solución de errores de SQL

Error: Not supported

Aurora DSQL no admite todos los dialectos basados en PostgreSQL. Para saber lo que se admite, consulte Características de PostgreSQL admitidas en Aurora DSQL.

Error: SELECT FOR UPDATE in a read-only transaction is a no-op

Está intentando una operación que no está permitida en una transacción de solo lectura. Para obtener más información, consulte Descripción del control de simultaneidad en Aurora DSQL.

Error: use CREATE INDEX ASYNC instead

Para crear un índice en una tabla con filas existentes, debe utilizar el comando CREATE INDEX ASYNC. Para obtener más información, consulte Creación de índices de forma asíncrona en Aurora DSQL.

Solución de errores de OCC

OC000 “ERROR: mutation conflicts with another transaction, retry as needed”

OC001 “ERROR: schema has been updated by another transaction, retry as needed”

La sesión de PostgreSQL tenía una copia en caché del catálogo de esquemas. Esa copia en caché era válida en el momento en que se cargó. Llamemos al tiempo T1 y a la versión V1.

Otra transacción actualiza el catálogo en el momento T2. Llamémosla V2.

Cuando la sesión original intenta leer del almacenamiento en el tiempo T2 todavía está utilizando la versión V1 del catálogo. La capa de almacenamiento de Aurora DSQL rechaza la solicitud porque la última versión del catálogo en T2 es V2.

Cuando se reintenta en el tiempo T3 desde la sesión original, Aurora DSQL actualiza la memoria caché del catálogo. La transacción en T3 utiliza el catálogo V2. Aurora DSQL finalizará la transacción siempre y cuando no se hayan producido otros cambios en el catálogo desde el tiempo T2.

Solución de problemas de las conexiones SSL/TLS

Error de SSL: no se pudo verificar el certificado

Este error indica que el cliente no puede verificar el certificado del servidor. Asegúrese de que:

  1. El certificado Amazon Root CA 1 está instalado correctamente. Consulte Configuración de certificados SSL/TLS para conexiones de Aurora DSQL para obtener instrucciones sobre cómo validar e instalar este certificado.

  2. La variable de entorno PGSSLROOTCERT apunta al archivo de certificado correcto.

  3. El archivo de certificado tiene los permisos correctos.

Código de error SSL no reconocido: 6

Este error se produce con los clientes de PostgreSQL anteriores a la versión 14. Actualice el cliente de PostgreSQL a la versión 17 para resolver este problema.

Error de SSL: esquema no registrado (Windows)

Este es un problema conocido con el cliente psql de Windows cuando se utilizan certificados del sistema. Utilice el método del archivo de certificado descargado que se describe en las instrucciones de Conexión desde Windows.