Mensagens de erro do Cloud SQL para PostgreSQL

Nesta página, mostramos algumas mensagens de erro encontradas no Cloud SQL.

Visão geral

As mensagens de erro no Cloud SQL provêm de muitas origens e aparecem em muitos lugares. Algumas mensagens de erro são derivadas dos próprios mecanismos de banco de dados, do serviço Cloud SQL, de aplicativos clientes, e outras retornadas por chamadas à API Cloud SQL Admin.

Nesta página, incluímos alguns dos erros mais comuns encontrados no Cloud SQL. Se você não encontrar nela o código de erro ou a mensagem que procura, pesquise o material de referência de origem nestes locais:

Se você não encontrar o material de referência da mensagem de erro que aparece, pesquise também em alguns destes lugares, onde outros usuários podem ter experiência relevante:

Mensagens de erro de operações

Solicitação inválida

Você vê a mensagem de erro HTTP Error 400 Bad Request.

O problema pode ser

A solicitação inválida pode ter muitas causas. Uma das mais comuns é argumento inválido. Nesse caso, a solicitação está usando o argumento errado ou um valor inválido para ele. Para muitas outras causas, a mensagem de erro pode conter uma dica útil.

O que você deve tentar

Para argumento inválido, verifique a solicitação para saber se cada argumento é permitido e se cada valor de argumento é válido. Para todas as outras causas, verifique os arquivos de registros para ver se há mais informações disponíveis.


Acesso negado para o usuário

Você vê a mensagem de erro Access denied for user 'XXX'@'XXX' (using password: XXX).

O problema pode ser

Pode haver várias causas, incluindo:

  • o nome de usuário (ou senha) está incorreto;
  • o usuário está se conectando de um URL diferente de @XXX;
  • o usuário não tem os privilégios corretos para o banco de dados a que está tentando se conectar.

O que você deve tentar

  • Verifique o nome de usuário e a senha correspondente.
  • Verifique a origem da conexão para ver se ela corresponde ao URL em que o usuário tem privilégios de acesso.
  • Verifique os privilégios de concessão do usuário no banco de dados.

Conexão redefinida pelo par

Você vê a mensagem de erro Could not receive data from client: Connection reset by peer.

O problema pode ser

Se o Cloud Storage não recebe dados em um determinado período, a conexão é redefinida.

O que você deve tentar

Tente fazer uma exportação manual usando pg_dump.


Disco cheio

Você vê a mensagem de erro Disk is full ou percebe que está sem espaço em disco.

O problema pode ser

O tamanho do disco da instância principal pode ficar cheio durante a criação da réplica.

O que você deve tentar

Edite a instância principal com upgrade para um tamanho de disco maior.


A ativação de uma sinalização provoca falha na instância

Após a ativação de uma sinalização, as instâncias ficam alternando entre pânico e falha.

O problema pode ser

Sabe-se que definir um valor muito alto para a sinalização max_connections pode causar esse erro.

O que você deve tentar

A definição de um valor muito alto para a sinalização max_connections pode impedir a instância de acomodar todas as conexões, o que resulta no erro Error 1040: Too many connections e em falhas de sinal de funcionamento. Entre em contato com o suporte ao cliente para solicitar a remoção de uma sinalização, seguida de um hard drain. Isso força a instância a reiniciar em um host diferente com uma nova configuração, sem a sinalização ou a configuração.


Erro fatal durante o upgrade

Você vê a mensagem de erro ERROR_INTERNAL_FATAL ao fazer upgrade de recursos em uma instância.

O problema pode ser

Há muitas causas possíveis.

O que você deve tentar

Os registros podem revelar mais informações. Caso contrário, entre em contato com o suporte ao cliente para forçar a recriação da instância.


Erro HTTP 408: (tempo limite) durante a exportação

Você vê a mensagem de erro HTTP Error 408 (Timeout) ao executar um job de exportação no Cloud SQL.

O problema pode ser

Os formatos CSV e SQL são exportados de maneira diferente. O formato SQL inclui todo o banco de dados e provavelmente levará mais tempo para ser concluído. Com o CSV, é possível especificar quais elementos do banco de dados serão incluídos na operação de exportação.

O que você deve tentar

Use o formato CSV e execute vários jobs de exportação menores para reduzir o tamanho e a duração de cada operação.


Erro HTTP 409

Você vê a mensagem de erro HTTP Error 409 in a Terraform script ou Error 409 Operation failed because another operation was already in progress.

O problema pode ser

  1. Verifique o script do Terraform. O script precisa aguardar a conclusão de cada operação antes de iniciar a próxima.
  2. HTTP Error 409: Operation failed because another operation was already in progress.
  3. Você está tentando reutilizar, para uma nova instância, o mesmo nome de uma instância excluída recentemente, antes do final do período de espera para reutilização do nome.

O que você deve tentar

  1. Se estiver executando um script do Terraform, interrompa a execução até que cada operação da instância seja concluída. Faça com que o script pesquise e aguarde até que um 200 seja retornado pelo ID da operação anterior. Caso contrário, aguarde a conclusão da operação em execução.
  2. Depois de excluir uma instância, você precisa aguardar uma semana antes de reutilizar o mesmo nome para uma nova instância.

Não é possível excluir a instância

Mensagem de erro

Você vê a mensagem de erro ERROR: (gcloud.sql.instances.delete) HTTP Error 409: The instance or operation is not in an appropriate state to handle the request ou a instância tem um status de sinalização INSTANCE_RISKY_FLAG_CONFIG.

O problema pode ser

  1. Another operation is in progress.
  2. O aviso INSTANCE_RISKY_FLAG_CONFIG é acionado sempre que pelo menos uma sinalização BETA é usada.

O que você deve tentar

  1. As operações do Cloud SQL não são executadas simultaneamente. Aguarde a conclusão da outra operação.
  2. Remova as configurações de sinalização arriscadas e reinicie a instância.

Erro interno

Você vê a mensagem de erro {"ResourceType":"sqladmin.v1beta4.instance", "ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null}.

O problema pode ser

O projeto de serviço pode estar sem a conta de serviço de rede necessária para esse recurso.

O que você deve tentar

Para corrigir as permissões do serviço, desative a Service Networking API, aguarde cinco minutos e reative-a.


Falha na associação de rede

Você vê a mensagem de erro Network association failed due to the following error: set Service Networking service account as servicenetworking.serviceAgent role on consumer project.

O problema pode ser

A Service Networking API não está ativada no projeto.

O que você deve tentar

Ative a Service Networking API no seu projeto. Se você vir esse erro ao tentar atribuir um endereço IP particular a uma instância do Cloud SQL e estiver usando uma VPC compartilhada, também será necessário ativar a Service Networking API para o projeto host.


Conexão não autorizada

Você vê a mensagem de erro Unauthorized to connect.

O problema pode ser

Pode haver muitas causas, já que a autorização ocorre em muitos níveis.

  • No nível do banco de dados, é preciso que o usuário do banco de dados e a senha sejam correspondentes.
  • No nível do projeto, o usuário pode não ter as permissões de IAM corretas, incluindo as permissões serviceusage.services.use ou cloudsql.instances.connect.
  • No nível da rede, se a instância do Cloud SQL estiver usando IP público, o IP de origem da conexão precisará estar em uma rede autorizada.

O que você deve tentar

  • Verifique se o usuário existe e corresponde à senha.
  • Atribua o papel Service Usage Consumer à conta de usuário. Esse papel inclui a permissão serviceusage.services.use.
  • Se estiver usando IP público, verifique se o IP de origem está em uma rede autorizada.

A operação não é válida para esta instância

Você vê a mensagem de erro HTTP Error 400: This operation isn't valid for this instance de uma chamada de API para instances.restoreBackup.

O problema pode ser

Não é possível restaurar do backup para uma instância com um tamanho de armazenamento (XX GB) menor que o tamanho do backup (YY GB).

O que você deve tentar

Edite a instância de destino para aumentar o tamanho de armazenamento dela.


Memória insuficiente durante o backup automático

Você vê a mensagem de erro [ERROR] InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written..

O problema pode ser

A instância atingiu um limite absoluto ao fazer um backup automatizado.

O que você deve tentar

Verifique se o SO e o sistema de arquivos são compatíveis com arquivos desse tamanho. Verifique se o disco não está cheio ou com cota de disco insuficiente. É possível solicitar um aumento nas suas cotas pelo Console do Google Cloud ou editar a instância com upgrade para um tamanho de disco maior.


Cota excedida

Você vê a mensagem de erro RESOURCE_EXHAUSTED: Quota exceeded ou GLOBAL_ADDRESSES_QUOTA_EXCEEDED.

O problema pode ser

Você atingiu o limite de sua cota diária ou por minuto. Revise as cotas e limites do Cloud SQL.

O que você deve tentar

Solicite um aumento nas suas cotas pelo Console do Google Cloud.


Os slots de conexão restantes estão reservados

Você vê a mensagem de erro FATAL: remaining connection slots are reserved for non-replication superuser connections.

O problema pode ser

O número máximo de conexões permitidas foi atingido.

O que você deve tentar

Aumente a sinalização max_connections. Observe que aumentar max_connections acima de um determinado valor resulta na perda de cobertura do suporte do SLA (em inglês). Consulte Como configurar sinalizações do banco de dados.


Falta uma chave de API válida na solicitação

Você vê a mensagem de erro HTTP Error 403: PERMISSION_DENIED. The request is missing a valid API key.

O problema pode ser

Talvez você não tenha um arquivo JSON de chave de conta de serviço válido ou ele não esteja armazenado no local esperado.

O que você deve tentar

Verifique se você tem um arquivo JSON de chave de conta de serviço válido no local armazenado na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS e se a variável aponta para o local correto.


Ocorreu um erro de sistema

Você vê a mensagem de erro [ERROR_RDBMS] system error occurred.

O problema pode ser

  1. O usuário pode não ter todas as permissões necessárias do Cloud Storage.
  2. A tabela de banco de dados pode não existir.

O que você deve tentar

  1. Verifique se você tem pelo menos as permissões WRITER no bucket e READER no arquivo de exportação. Para mais informações sobre como configurar o controle de acesso no Cloud Storage, consulte Criar e gerenciar listas de controle de acesso.
  2. Verifique se a tabela existe. Se a tabela existir, confirme se você tem as permissões corretas no bucket de armazenamento.

A definição da tabela foi alterada

Você vê a mensagem de erro Table definition has changed, please retry transaction when dumping table.

O problema pode ser

Durante o processo de exportação, ocorreu uma alteração na tabela.

O que você deve tentar

A transação de despejo poderá falhar se você usar as seguintes instruções durante a operação de exportação:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE
Remova qualquer uma dessas instruções da operação de despejo.


O tamanho do arquivo temporário excede temp_file_limit

Você vê a mensagem de erro Temporary file size exceeds temp_file_limit.

O problema pode ser

A sinalização temp_file_limit está definida com valor muito baixo para o uso do banco de dados.

O que você deve tentar

Aumente o tamanho de temp_file_limit. Consulte Como configurar sinalizações do banco de dados.


Erro desconhecido

Você vê a mensagem de erro Unknown error.

O problema pode ser

  1. Se isso aparece quando você tenta exportar o banco de dados para um bucket do Cloud Storage, a falha na transferência pode ser devido a um problema de largura de banda.
  2. Se isso aparece durante os backups automáticos ou manuais, é provável que o disco da instância esteja cheio.
  3. Se isso aparece quando você tenta criar uma réplica de leitura, é provável que haja um erro mais específico nos arquivos de registros.
  4. Se isso aparece quando você tenta criar uma nova instância, talvez seja porque está tentando reutilizar o mesmo nome de uma instância excluída recentemente.

O que você deve tentar

  1. A instância do Cloud SQL pode estar localizada em uma região diferente do bucket do Cloud Storage. A leitura e a gravação de dados de um continente para outro envolve muito uso de rede e pode causar problemas intermitentes como esse.
  2. Se o tamanho do arquivo temporário estiver ocupando muito espaço, reinicie a instância para remover esse arquivo e liberar o espaço no disco. Caso contrário, talvez seja necessário fazer upgrade da instância para um tamanho de disco maior.
  3. Inspecione os registros no Cloud Logging para encontrar o erro real. Se o erro for set Service Networking service account as servicenetworking.serviceAgent role on consumer project, desative e reative a Service Networking API. Essa ação cria a conta de serviço necessária para continuar com o processo.
  4. Os nomes de instância somente podem ser reutilizados uma semana após a exclusão.