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.
Tópicos
Solução de problemas de erros de conexão
erro: código de erro SSL não reconhecido: 6 ou não foi possível aceitar a conexão, o sni não foi recebido.
Você pode estar usando uma versão do psql anterior à versão 14
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.
Mapeamento incorreto de usuário para ação
Esse erro ocorre quando o tipo de token de autenticação não corresponde ao perfil do banco de dados. O Aurora DSQL usa dois tipos de token: DbConnectAdmin para o perfil admin e DbConnect para perfis personalizados do banco de dados.
-
Se você ver
Wrong user to action mapping. user: admin, action: DbConnect, usegenerate-db-connect-admin-auth-tokenem vez degenerate-db-connect-auth-token. -
Se você ver
Wrong user to action mapping. user:, usemyusername, action: DbConnectAdmingenerate-db-connect-auth-tokenem vez degenerate-db-connect-admin-auth-token.
Solucionar erros de autorização
Role <role> not supported
O Aurora DSQL não aceita a operação GRANT. Consulte Subconjuntos de comandos SQL compatíveis no Aurora DSQL.
Cannot establish trust with role <role>
O Aurora DSQL não aceita a operação GRANT. Consulte Subconjuntos de comandos SQL compatíveis no 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
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: 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.
Solução de problemas de respostas de controle de concorrência
OC000 “ERROR: change conflicts with another transaction (OC000)”
Essa transação tentou modificar as mesmas tuplas que outra transação concorrente. Isso indica contenção nas tuplas modificadas. Para saber mais, consulte Concurrency control in Aurora DSQL.
OC001 “ERROR: schema has been updated by another transaction (OC001)”
A sessão tinha uma cópia em cache do catálogo de esquema na versão V1, carregada no momento T1.
Uma transação separada atualizou o catálogo para a versão V2 no momento T2.
No momento T3, quando a sessão executa uma consulta, ela detecta que está desatualizada e tenta fazer o rebase nas novas alterações do catálogo. Em algumas situações, o rebase não pode ser concluído, e o Aurora DSQL retorna uma resposta 40001 OC001. O tempo entre T2 e T3 pode variar de milissegundos a minutos, porque os processadores de consulta detectam alterações no catálogo de forma reativa, em vez de receber atualizações proativas.
Ao tentar novamente a partir da mesma sessão, o Aurora DSQL atualiza o cache do catálogo. A transação repetida utiliza o catálogo V2 e é bem-sucedida, desde que nenhuma outra alteração no catálogo tenha ocorrido desde 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:
-
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.
-
A variável de ambiente
PGSSLROOTCERTaponta para o arquivo de certificado correto. -
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.