Solução de problemas no Aurora DSQL - Amazon Aurora DSQL

Solução de problemas no Aurora DSQL

nota

Os tópicos a seguir fornecem orientações para a solução de erros e problemas com os quais você pode se deparar ao usar o Aurora DSQL. Se encontrar um problema que não esteja listado aqui, entre em contato com o AWS Support.

Solução de problemas de erros de conexão

error: unrecognized SSL error code: 6

Causa: você deve estar usando uma versão do psql anterior à versão 14, que não permite indicação de nome de servidor (SNI). O SNI é necessário para entrar no Aurora DSQL.

Você pode verificar a versão do cliente com psql --version.

erro: NetworkUnreachable

Um erro NetworkUnreachable durante as tentativas de conexão pode indicar que seu cliente não permite conexões IPv6, em vez de sinalizar um problema real na rede. Esse erro geralmente ocorre em instâncias somente IPv4 devido à forma como os clientes PostgreSQL lidam com conexões de pilha dupla. Quando um servidor permite o modo de pilha dupla, esses clientes primeiro resolvem os nomes de host para endereços IPv4 e IPv6. Eles tentam primeiro uma conexão IPv4 e, se a conexão inicial falhar, tentam IPv6. Se o seu sistema não permitir IPv6, você verá um erro geral NetworkUnreachable em vez de uma mensagem clara de “IPv6 not supported”.

Solucionar erros de autenticação

IAM authentication failed for user "..."

Quando você gera um token de autenticação do IAM para o Aurora DSQL, a duração máxima que você pode definir é uma semana. Após uma semana, você não pode se autenticar com esse token.

Além disso, o Aurora DSQL rejeitará sua solicitação de conexão se o perfil assumido tiver expirado. Por exemplo, se você tentar se conectar com um perfil temporário do IAM, mesmo que o token de autenticação não tenha expirado, o Aurora DSQL rejeitará a solicitação de conexão.

Para saber mais sobre como o IAM funciona com o Aurora DSQL, consulte Understanding authentication and authorization for Aurora DSQL e AWS Identity and Access Management in Aurora DSQL.

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

O IAM rejeitou sua solicitação. Para ter mais informações, consulte Why requests are signed.

IAM role <role> does not exist

O Aurora DSQL não conseguiu encontrar seu perfil do IAM. Para obter mais informações, consulte os perfis do IAM.

IAM role must look like an IAM ARN

Consulte Identificadores do IAM e ARNs do IAM para obter mais informações.

Solucionar erros de autorização

Role <role> not supported

O Aurora DSQL não aceita a operação GRANT. Consulte Supported subsets of PostgreSQL commands in Aurora DSQL.

Cannot establish trust with role <role>

O Aurora DSQL não aceita a operação GRANT. Consulte Supported subsets of PostgreSQL commands in Aurora DSQL.

Role <role> does not exist

O Aurora DSQL não conseguiu encontrar o usuário do banco de dados especificado. Consulte Authorize custom database roles to connect to a cluster.

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

Para conceder acesso a um perfil de banco de dados, você deve se conectar ao cluster com o perfil de administrador. Para saber mais, consulte Authorize database roles to use SQL in a database.

ERROR: role <role> must have the LOGIN attribute

Você deve ter permissão para criar perfis de LOGIN.

Para resolver esse erro, você deve criar o perfil do PostgreSQL com a permissão LOGIN. Para ter mais informações, consulte CREATE ROLE e GRANT na documentação do PostgreSQL.

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

Se você eliminar um perfil de banco de dados que tenha uma relação com o IAM, o Aurora DSQL exibirá um erro enquanto você não revogar essa relação usando AWS IAM REVOKE. Para saber mais, consulte Revoking authorization.

Solucionar de erros de SQL

Error: Not supported

O Aurora DSQL não oferece suporte a todos os dialetos baseados em PostgreSQL. Para saber mais sobre o que é possível usar, consulte Supported PostgreSQL features in Aurora DSQL.

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

Você está tentando realizar uma operação que não é permitida em uma transação somente leitura. Para saber mais, consulte Understanding concurrency control in Aurora DSQL.

Error: use CREATE INDEX ASYNC instead

Para criar um índice em uma tabela com linhas existentes, você deve usar o comando CREATE INDEX ASYNC. Para saber mais, consulte Creating indexes asynchronously in Aurora DSQL.

Solucionar erros de OCC

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

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

Sua sessão do PostgreSQL tinha uma cópia em cache do catálogo de esquemas. Essa cópia em cache era válida no momento em que foi carregada. Vamos chamar o momento T1 e a versão V1.

Outra transação atualiza o catálogo no momento T2. Vamos chamar isso de V2.

Quando a sessão original tenta ler do armazenamento no momento T2, ela ainda está usando a versão V1 do catálogo. A camada de armazenamento do Aurora DSQL rejeita a solicitação porque a versão mais recente do catálogo em T2 é V2.

Quando você tenta novamente no momento T3 usando a sessão original, o Aurora DSQL atualiza o cache do catálogo. A transação em T3 está usando o catálogo V2. O Aurora DSQL concluirá a transação desde que nenhuma outra alteração no catálogo tenha ocorrido desde o momento T2.

Solucionar problemas em conexões SSL/TLS

SSL error: certificate verify failed

Esse erro indica que o cliente não consegue verificar o certificado do servidor. Verifique se:

  1. O certificado Amazon Root CA 1 está instalado corretamente. Consulte Configurar certificados SSL/TLS para conexões do Aurora DSQL para obter instruções sobre como validar e instalar esse certificado.

  2. A variável de ambiente PGSSLROOTCERT aponta para o arquivo de certificado correto.

  3. O arquivo de certificado tem as permissões corretas.

Unrecognized SSL error code: 6

Esse erro ocorre com clientes PostgreSQL abaixo da versão 14. Para resolver esse problema, atualize seu cliente PostgreSQL para a versão 17.

SSL error: unregistered scheme (Windows)

Esse é um problema conhecido com o cliente psql do Windows ao usar certificados do sistema. Use o método de arquivo de certificado baixado descrito nas instruções em Conectar-se pelo Windows.