Mensagens de erro do Cloud SQL para PostgreSQL

Esta página aborda algumas das mensagens de erro encontradas no Cloud SQL.

Vista geral

As mensagens de erro no Cloud SQL provêm de várias origens e aparecem em vários locais. Algumas mensagens de erro provêm dos próprios motores de base de dados, algumas do serviço Cloud SQL, algumas das aplicações cliente e algumas são devolvidas por chamadas à API Admin do Cloud SQL.

Esta página inclui alguns dos erros mais comuns observados no Cloud SQL. Se não encontrar o código ou a mensagem de erro que procura aqui, pode procurar material de referência da fonte aqui:

Se não encontrar o material de referência para a mensagem de erro que está a ver, também pode pesquisar em alguns destes locais onde outros utilizadores podem ter experiência relevante:

Erros operacionais

A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W

Mensagem de erro Resolução de problemas
O intervalo de IPs atribuído não foi encontrado na rede. As interligações de VPC não foram atualizadas depois de um intervalo atribuído ter sido modificado ou removido.

Tem de modificar a ligação privada. Use o seguinte comando e certifique-se de que usa o argumento --force:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Mensagem de erro Resolução de problemas
Pedido inválido. Esta mensagem pode ter várias causas. Illegal Argument é um dos mais comuns. Neste caso, o pedido está a usar o argumento errado ou um valor inválido para o argumento. Para as muitas outras causas, a mensagem de erro pode conter uma sugestão útil.

Para Illegal Argument, verifique o pedido para se certificar de que cada argumento é permitido e que cada valor do argumento é válido. Para todas as outras causas, verifique os ficheiros de registo para ver se existem mais informações.

Mensagem de erro Resolução de problemas
Não é possível modificar intervalos atribuídos em CreateConnection. Use UpdateConnection. As interligações de VPC não foram atualizadas depois de um intervalo atribuído ter sido modificado ou removido.

Tem de modificar a ligação privada. Use o seguinte comando e certifique-se de que usa o argumento --force:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
A ligação foi reposta por outro elemento da rede.

Se estiver a tentar fazer uma exportação e o Cloud Storage não receber dados num determinado período, a ligação é reposta.

Experimente uma exportação manual com pg_dump.

Constraints/sql.restrictAuthorizedNetworks. A operação de clonagem está bloqueada pela configuração Authorized Networks. Authorized Networks estão configurados para endereços IP públicos na secção Conetividade da consola Google Cloud e a clonagem não é permitida devido a considerações de segurança.

Remova todas as entradas de Authorized Networks da instância do Cloud SQL, se possível. Caso contrário, crie uma réplica sem entradas Authorized Networks.

Mensagem de erro Resolução de problemas
A base de dados user não existe. gcloud sql connect --user só funciona com o utilizador postgres predefinido.

Estabeleça ligação com o utilizador predefinido e, em seguida, altere os utilizadores.

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

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

Mensagem de erro Resolução de problemas
Não foi possível criar a sub-rede. Não existem mais endereços disponíveis no intervalo de IP.

Não foi possível encontrar blocos livres nos intervalos de IP atribuídos. Atribua novos intervalos a este fornecedor de serviços.

Não existem mais endereços disponíveis no intervalo de IP atribuído.

Considere estes possíveis cenários:

  • O tamanho do intervalo de IP atribuído para a ligação de serviço privada é inferior a /24.
  • A dimensão do intervalo de IP atribuído para a ligação de serviço privado é demasiado pequena para o número de instâncias do Cloud SQL.
  • O requisito relativo ao tamanho do intervalo de IPs atribuído é maior se as instâncias forem criadas em várias regiões. Veja a dimensão do intervalo atribuído

Para cada um dos cenários acima, pode optar por expandir o intervalo de IP existente ou atribuir um intervalo de IP adicional à ligação de serviço privado.

Se estiver a atribuir um novo intervalo, tenha cuidado para não criar uma atribuição que se sobreponha a atribuições existentes.

Depois de criar um novo intervalo de IPs, atualize o peering de VPC com o seguinte comando:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK
--project=PROJECT_ID \
--force

Se estiver a expandir uma atribuição existente, tenha cuidado para aumentar apenas o intervalo de atribuição e não o diminuir. Por exemplo, se a atribuição original for 10.0.10.0/24, faça a nova atribuição, pelo menos, em 10.0.10.0/23.

Em geral, se começar com uma atribuição /24, diminuir a máscara em 1 para cada condição (grupo de tipo de instância adicional, região adicional) é uma boa regra geral. Por exemplo, se tentar criar ambos os grupos de tipos de instâncias na mesma atribuição, passar de /24 para /23 é suficiente.

Depois de expandir um intervalo de IPs existente, atualize a interligação de VPC com o seguinte comando:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
Mensagem de erro Resolução de problemas
(gcloud.sql.connect) Parece que o seu cliente não tem conetividade IPv6 e a instância da base de dados não tem um endereço IPv4. Está a tentar estabelecer ligação à sua instância de IP privado através do Cloud Shell.

A ligação do Cloud Shell a uma instância com apenas um endereço IP privado não é suportada atualmente.

Mensagem de erro Resolução de problemas
Erro interno. O projeto pode não ter a conta de serviço de rede de serviços necessária para esta funcionalidade.

Para reparar as autorizações de serviço, desative a opção Service Networking API, aguarde cinco minutos e, em seguida, volte a ativá-la.

Pedido inválido: configuração de rede de serviços incorreta para a instância. O serviço Service Networking API não está ativado no projeto.

Ative a Service Networking API no seu projeto. Se vir este erro quando estiver a tentar atribuir um endereço IP privado a uma instância do Cloud SQL e estiver a usar uma VPC partilhada, também tem de ativar a Service Networking API para o projeto anfitrião.

Mensagem de erro Resolução de problemas
Falha na associação de rede. O Service Networking API não está ativado no projeto.

Ative a Service Networking API no seu projeto. Se vir este erro quando estiver a tentar atribuir um endereço IP privado a uma instância do Cloud SQL e estiver a usar uma VPC partilhada, também tem de ativar a Service Networking API para o projeto anfitrião.

Mensagem de erro Resolução de problemas
A operação falhou porque já estava outra operação em curso. A maioria das operações no Cloud SQL são síncronas. Só pode executar uma de cada vez.

Aguarde que a operação anterior termine antes de iniciar outra.

A operação não é válida para esta instância. Este erro é devolvido por uma chamada API para instances.restoreBackup e significa que não pode restaurar a partir da cópia de segurança para uma instância com um tamanho de armazenamento (XX GB) inferior ao tamanho da cópia de segurança (YY GB).

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

Mensagem de erro Resolução de problemas
A autenticação da palavra-passe falhou para o utilizador "postgres". Quando cria uma nova instância do Cloud SQL para PostgreSQL, o utilizador administrador predefinido postgres é criado, mas não a palavra-passe. Tem de definir uma palavra-passe para este utilizador antes de o utilizador poder iniciar sessão.

Mensagem de erro Resolução de problemas
Quota ultrapassada. Atingiu o limite da sua quota por minuto ou diária. Reveja as quotas e os limites do Cloud SQL.

Peça um aumento das suas quotas a partir da Google Cloud consola.

Mensagem de erro Resolução de problemas
Os restantes slots de ligação estão reservados. O número máximo de associações permitidas foi atingido.

Aumentar o valor da flag max_connections. Consulte o artigo Configurar flags da base de dados.

O pedido não tem uma chave da API válida. Pode não ter um ficheiro JSON de chave de conta de serviço válido ou este pode não estar armazenado na localização esperada.

Verifique se tem um ficheiro JSON de chave da conta de serviço válido na localização armazenada na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS e se a variável aponta para a localização correta.

Mensagem de erro Resolução de problemas
Erro de SSL: preenchimento inválido. Erro de certificado do servidor.

Crie um novo certificado do servidor e faça a rotação.

Ocorreu um erro do sistema.
  • O utilizador pode não ter todas as autorizações do Cloud Storage de que precisa.
  • A tabela da base de dados pode não existir.

Experimente estas ações…

  • Verifique se tem, pelo menos, autorizações WRITER no contentor e autorizações READER no ficheiro de exportação. Para mais informações sobre a configuração do controlo de acesso no Cloud Storage, consulte o artigo Crie e faça a gestão de listas de controlo de acesso
  • Certifique-se de que a tabela existe. Se a tabela existir, confirme que tem as autorizações corretas no contentor de armazenamento.

Mensagem de erro Resolução de problemas
A definição da tabela foi alterada. Durante o processo de exportação, ocorreu uma alteração na tabela.

A transação de despejo pode falhar se usar as seguintes declarações durante a operação de exportação:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE

Remova qualquer uma destas declarações da operação de despejo.

O tamanho do ficheiro temporário excede o limite de ficheiros temporários. O indicador temp_file_limit está definido como demasiado baixo para a utilização da base de dados.

Aumente o tamanho de temp_file_limit. Consulte o artigo Configurar flags da base de dados.

(Limite de tempo excedido) durante a exportação. Os formatos CSV e SQL são exportados de forma diferente. O formato SQL inclui toda a base de dados e é provável que demore mais tempo a ser concluído.

Use o formato CSV e execute várias tarefas de exportação mais pequenas para reduzir o tamanho e a duração de cada operação.

Demasiadas associações. Definir o valor da flag max_connections demasiado elevado pode causar este erro. Isto também pode ser causado pela ativação de uma flag fora da sequência.

Diminua o valor da flag max_connections ou contacte o apoio ao cliente para pedir a remoção da flag, seguida de um hard drain. Isto força o reinício da instância num anfitrião diferente com uma configuração nova, sem a flag nem a definição.

Mensagem de erro Resolução de problemas
Não autorizado a estabelecer ligação. Existem várias causas, uma vez que a autorização ocorre em vários níveis:
  • Ao nível da base de dados, o utilizador da base de dados tem de existir e a respetiva palavra-passe tem de corresponder
  • Ao nível do projeto, o utilizador pode não ter as autorizações do IAM corretas, incluindo as autorizações serviceusage.services.use ou cloudsql.instances.connect.
  • Ao nível da rede, se a instância do Cloud SQL estiver a usar o IP público, o IP de origem da ligação tem de estar numa rede autorizada.

Experimente estas ações…

  • Certifique-se de que o utilizador existe e que a palavra-passe corresponde.
  • Atribua a função Service Usage Consumer à conta de utilizador. Esta função inclui a autorização serviceusage.services.use.
  • Se usar um IP público, certifique-se de que o IP de origem está numa rede autorizada.
Mensagem de erro Resolução de problemas
x509: certificate isn't valid for any names. Problema conhecido: o Cloud SQL Proxy Dialer não é compatível com o Go 1.15 neste momento.

Até a correção, consulte esta discussão no GitHub, que inclui uma solução alternativa.

Erros desconhecidos

A tabela seguinte mostra alguns casos conhecidos em que pode ocorrer um Unknown Error e apresenta soluções específicas, quando aplicável. No entanto, esta lista não é exaustiva. Se não encontrar o seu registo na tabela, consulte o rastreador de problemas público do Cloud SQL. Se não encontrar o problema, considere enviar um relatório ou rever outras opções de apoio técnico.

Operação O problema pode ser... Coisas a experimentar…
Adicionar utilizador Se o utilizador já existir na base de dados, este erro pode ocorrer quando tenta adicioná-lo. Verifique se o utilizador já existe na base de dados.
cópia de segurança Se vir esta mensagem durante cópias de segurança automáticas ou manuais, é provável que o disco da instância esteja cheio. Se o tamanho do ficheiro temporário estiver a ocupar demasiado espaço, pode reiniciar a instância para remover o ficheiro e libertar espaço no disco. Caso contrário, pode ter de atualizar a instância para um tamanho do disco maior.
Clonar Isto pode ocorrer quando existe uma escassez de recursos na zona selecionada. Experimente outra zona na região ou aguarde e tente novamente mais tarde.
Criar instância
  • Isto pode ocorrer quando tenta reutilizar o mesmo nome de uma instância eliminada recentemente.
  • Também pode ser causado por problemas de conetividade intermitentes.
  • Os registos podem mostrar que a API Service Networking não está ativada para o projeto.
  • O erro também foi observado ao tentar criar várias instâncias em paralelo. Por exemplo, os scripts do Terraform tornam esta tentativa possível.
  • Outro motivo pode ser o esgotamento de um recurso específico ou o exceder de um limite de quota. Procure nos registos uma entrada como Quota 'INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK' exceeded. Limit: 100.0 globally
  • Este erro pode ocorrer se a criação da sub-rede falhar quando não existirem mais endereços disponíveis no intervalo de IP.
  • Não é possível reutilizar os nomes das instâncias até cerca de uma semana após a eliminação.
  • No caso de problemas de conetividade intermitentes, a única solução é tentar novamente.
  • Ative a API Service Networking para o projeto.
  • Os scripts de criação de instâncias paralelas só criam uma das instâncias. Modifique o script para aguardar até que cada operação de criação de instâncias esteja concluída antes de continuar para a seguinte.
  • Atribua novos intervalos.
Crie uma réplica É provável que exista um erro mais específico nos ficheiros de registo. Inspeccione os registos 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 o Service Networking API. Esta ação cria a conta de serviço necessária para continuar com o processo.

Se o erro for The instance creation failed due to a permission error with the CMEK key defined, reveja as definições da chave e a localização.

Exportar Se vir esta mensagem ao tentar exportar uma base de dados para um contentor do Cloud Storage, a transferência pode estar a falhar devido a um problema de largura de banda. A instância do Cloud SQL pode estar localizada numa região diferente do contentor do Cloud Storage. A leitura e a gravação de dados de um continente para outro envolvem muita utilização da rede e podem causar problemas intermitentes como este.
Comutação por falha (automática) Uma operação de comutação automática por falha pode produzir esta mensagem de erro quando o serviço deteta que a instância principal ainda está a responder. Neste caso, não há nada a fazer. A comutação por falha não ocorre porque não é necessária.
Importar O ficheiro de importação pode conter declarações que requerem a função de superutilizador. Edite o ficheiro para remover todas as declarações que exijam a função de superutilizador.

O Cloud SQL também usa alguns ficheiros binários de terceiros (por exemplo, mysqld), que podem gerar mensagens de erro desconhecidas. Estes erros são internos aos binários de terceiros e estão fora do âmbito do Cloud SQL. No entanto, por vezes, é possível encontrar um erro mais específico nos ficheiros de registo do Cloud SQL aproximadamente à mesma hora.

Além disso, por vezes, trata-se de um código de erro desconhecido. Neste caso, a mensagem completa pode ser Unknown Error Code.