Messages d'erreur Cloud SQL pour PostgreSQL

Cette page présente certains des messages d'erreur rencontrés dans Cloud SQL.

Présentation

Les messages d'erreur dans Cloud SQL proviennent de nombreuses sources et apparaissent à de nombreux endroits. Certains messages d'erreur proviennent des moteurs de base de données proprement dits, d'autres du service Cloud SQL ou d'applications clientes, et d'autres sont renvoyés par des appels à l'API Admin Cloud SQL.

Cette page couvre certaines des erreurs les plus courantes rencontrées dans Cloud SQL. Si vous n'y trouvez pas le code d'erreur ou le message qui vous intéresse, vous pouvez le rechercher dans les documents de référence sources ci-dessous :

Si vous ne trouvez pas le document de référence sur le message d'erreur qui s'affiche, vous pouvez également effectuer une recherche sur les sites suivants, où d'autres utilisateurs peuvent avoir une expérience pertinente :

Erreurs opérationnelles

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

Message d'erreur Dépannage
Accès refusé pour l'utilisateur "XXX"@'XXX (avec le mot de passe: XXX) Plusieurs causes sont possibles, dont les suivantes :
  • Le nom d'utilisateur (ou le mot de passe) est incorrect.
  • L'utilisateur se connecte à partir d'une URL autre que @XXX.
  • L'utilisateur ne dispose pas des droits d'accès appropriés pour la base de données à laquelle il tente de se connecter.

Essayez les solutions suivantes ...

  • Vérifiez le nom d'utilisateur et le mot de passe correspondant.
  • Vérifiez l'origine de la connexion pour voir si elle correspond à l'URL pour laquelle l'utilisateur dispose de droits d'accès.
  • Vérifiez les droits d'accès de l'utilisateur dans la base de données.
Plage d'adresses IP allouée introuvable dans le réseau. Les appairages VPC n'ont pas été mis à jour après la modification ou la suppression d'une plage allouée.

Vous devez modifier la connexion privée. Exécutez la commande suivante et veillez à utiliser l'argument --force :

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Message d'erreur Dépannage
Requête incorrecte. Ce message peut avoir plusieurs causes. L'une des plus courantes est une erreur Illegal Argument. Dans ce cas, la requête utilise le mauvais argument ou une valeur d'argument non valide. Pour les nombreuses autres causes possibles, le message d'erreur peut contenir un indice utile.

Dans le cas de Illegal Argument, vérifiez la requête pour vous assurer que chaque argument est autorisé et que sa valeur est valide. Pour toutes les autres causes, consultez les fichiers journaux pour savoir si d'autres informations sont disponibles.

Message d'erreur Dépannage
Impossible de modifier les plages allouées dans CreateConnection. Veuillez utiliser UpdateConnection. Les appairages VPC n'ont pas été mis à jour après la modification ou la suppression d'une plage allouée.

Vous devez modifier la connexion privée. Exécutez la commande suivante et veillez à utiliser l'argument --force :

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Connexion réinitialisée par l’homologue.

Si vous essayez d'effectuer une exportation et que Cloud Storage ne reçoit aucune donnée dans un certain délai, la connexion est réinitialisée.

Essayez d'effectuer une exportation manuelle à l'aide de pg_dump.

Constraints/sql.restrictAuthorizedNetworks. L'opération de clonage est bloquée par la configuration Authorized Networks. Les Authorized Networks sont configurés pour les adresses IP publiques dans la section "Connectivité" de la console Google Cloud, et le clonage n'est pas autorisé pour des raisons de sécurité.

Si possible, supprimez toutes les entrées Authorized Networks de l'instance Cloud SQL. Sinon, créez une instance dupliquée sans aucune entrée Authorized Networks.

Message d'erreur Dépannage
La base de données user n'existe pas. gcloud sql connect --user ne fonctionne qu'avec l'utilisateur postgres par défaut.

Connectez-vous avec l'utilisateur par défaut, puis changez d'utilisateur.

Le disque est saturé. Le disque de l'instance principale peut arriver à saturation lors de la création de l'instance dupliquée.

Modifiez l'instance principale en augmentant la taille du disque.

Message d'erreur Dépannage
Échec de la création du sous-réseau Aucune autre adresse disponible dans la plage d'adresses IP.

Impossible de trouver des blocs libres dans les plages d'adresses IP allouées. Veuillez allouer de nouvelles plages à ce fournisseur de services.

Il n'y a plus d'adresses disponibles dans la plage d'adresses IP allouée.

Voici quelques scénarios possibles :

  • La taille de la plage d'adresses IP allouée à la connexion de service privé est inférieure à /24.
  • La taille de la plage d'adresses IP allouée pour la connexion de service privé est trop petite pour le nombre d'instances Cloud SQL.
  • La taille requise pour la plage d'adresses IP allouée sera plus importante si les instances sont créées dans plusieurs régions. Voir Taille de la plage allouée

Pour chacun des scénarios ci-dessus, vous pouvez choisir de développer la plage d'adresses IP existante ou d'allouer une plage d'adresses IP supplémentaire à la connexion de service privée.

Si vous allouez une nouvelle plage, veillez à ne pas créer d'allocation qui chevauche des allocations existantes.

Après avoir créé une nouvelle plage d'adresses IP, mettez à jour l'appairage de VPC à l'aide de la commande suivante :

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

Si vous développez une allocation existante, veillez à effectuer uniquement une opération d'augmentation de la plage d'allocation et non à la réduire. Par exemple, si l'allocation d'origine était 10.0.10.0/24, la nouvelle allocation doit être définie au mininmum sur 10.0.10.0/23.

En règle générale, si vous commencez par utiliser une allocation /24, il est conseillé de réduire le /masque d'une unité pour chaque condition (groupe de type d'instances supplémentaire, région supplémentaire). Par exemple, si vous essayez de créer les deux groupes de types d'instances sur la même allocation, passer de /24 à /23 est suffisant.

Après avoir étendu une plage d'adresses IP existante, mettez à jour l'appairage de VPC à l'aide de la commande suivante :

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
Message d'erreur Dépannage
(gcloud.sql.connect) Il semble que votre client ne dispose pas d'une connectivité ipv6 et que l'instance de base de données ne possède pas d'adresse ipv4. Vous essayez de vous connecter à votre instance IP privée à l'aide de Cloud Shell.

À l'heure actuelle, il n'est pas possible de se connecter depuis Cloud Shell à une instance avec une adresse IP privée seulement.

Message d'erreur Dépannage
Erreur interne. Le compte de service de mise en réseau des services requis pour cette fonctionnalité peut ne pas être spécifié pour le projet de service.

Pour réparer les autorisations de service, désactivez l'API Service Networking API, attendez cinq minutes, puis réactivez-la.

Requête non valide : la configuration de mise en réseau des services est incorrecte pour l'instance. L'API Service Networking API n'est pas activée dans le projet.

Activez l'API Service Networking API dans votre projet. Si cette erreur s'affiche lorsque vous tentez d'attribuer une adresse IP privée à une instance Cloud SQL et que vous utilisez un VPC partagé, vous devez également activer l'adresse Service Networking API pour le projet hôte.

Message d'erreur Dépannage
Échec d'association de réseau. L'API Service Networking API n'est pas activée dans le projet.

Activez l'API Service Networking API dans votre projet. Si cette erreur s'affiche lorsque vous tentez d'attribuer une adresse IP privée à une instance Cloud SQL et que vous utilisez un VPC partagé, vous devez également activer l'adresse Service Networking API pour le projet hôte.

Message d'erreur Dépannage
Échec de l'opération, car une autre était déjà en cours. La plupart des opérations dans Cloud SQL sont synchrones. Vous ne pouvez en exécuter qu'une seule à la fois.

Attendez la fin de l'opération précédente avant d'en commencer une autre.

L'opération n'est pas valide pour cette instance. Cette erreur est renvoyée par un appel d'API à instances.restoreBackup, et cela signifie que vous ne pouvez pas effectuer de restauration à partir d'une sauvegarde sur une instance dont la taille d'espace de stockage (XX Go) est inférieure à celle de la sauvegarde (YY Go).

Modifiez l'instance cible en augmentant la taille de l'espace de stockage.

Message d'erreur Dépannage
Échec de l'authentification par mot de passe de l'utilisateur "postgres". Lorsque vous créez une instance Cloud SQL pour PostgreSQL, l'administrateur par défaut postgres est créé, mais pas le mot de passe. Vous devez définir un mot de passe pour cet utilisateur pour qu'il puisse se connecter.

Message d'erreur Dépannage
Quota dépassé. Vous avez atteint votre limite de quota par minute ou par jour. Vérifiez les quotas et limites pour Cloud SQL.

Demandez une augmentation de vos quotas depuis Google Cloud Console.

Message d'erreur Dépannage
Les emplacements de connexion restants sont réservés. Le nombre maximal de connexions autorisé a été atteint

Augmentez la valeur de l'option max_connections. Consultez la page Configurer des options de base de données.

Il manque une clé API valide dans la requête. Il se peut que le fichier JSON de clé de compte de service ne soit pas valide ou qu'il ne soit pas stocké à l'emplacement attendu.

Vérifiez que vous disposez d'un fichier JSON de clé de compte de service valide à l'emplacement stocké dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS et que cette dernière pointe vers l'emplacement approprié.

Message d'erreur Dépannage
Erreur SSL : marge intérieure incorrecte Erreur de certificat du serveur.

Créez un certificat de serveur et effectuez une rotation.

Une erreur système est survenue.
  • Il se peut que l'utilisateur ne dispose pas de toutes les autorisations Cloud Storage dont il a besoin.
  • La table de base de données n'existe peut-être pas

Essayez les solutions suivantes ...

  • Vérifiez que vous disposez tout au moins des autorisations WRITER sur le bucket et READER sur le fichier d'exportation. Pour en savoir plus sur la configuration du contrôle d'accès dans Cloud Storage, consultez la page Créer et gérer des listes de contrôle d'accès.
  • Assurez-vous que la table existe. Si tel est le cas, vérifiez alors que vous disposez des autorisations appropriées sur le bucket de stockage.
Message d'erreur Dépannage
Définition de la table modifiée. Pendant le processus d'exportation, la table a subi une modification.

La transaction de vidage peut échouer si vous utilisez les instructions ci-dessous lors de l'opération d'exportation :

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

Supprimez l'une de ces instructions de l'opération de vidage.

La taille du fichier temporaire dépasse la valeur de "temp_file_limit". La valeur de l'option temp_file_limit n'est pas suffisamment élevée pour votre utilisation de la base de données.

Augmentez la taille de temp_file_limit. Consultez la page Configurer des options de base de données.

(Délai d'inactivité) lors de l'exportation. Les formats CSV et SQL sont exportés de manière différente. Comme le format SQL inclut l'ensemble de la base de données, l'exportation est susceptible de prendre plus de temps.

Utilisez le format CSV et exécutez plusieurs tâches d'exportation plus petites pour réduire le volume et la longueur de chaque opération.

Trop de connexions. Cette erreur peut se produire si la valeur de l'option max_connections est trop élevée. Cela peut également être dû à l'activation d'une option hors séquence.

Réduisez la valeur de l'option max_connections ou contactez le service client pour demander la suppression de l'option suivie d'un hard drain. Cela force l'instance à redémarrer sur un autre hôte avec une nouvelle configuration, sans option ni paramètre.

Message d'erreur Dépannage
Connexion non autorisée. Il peut exister plusieurs causes, car l'autorisation se produit à plusieurs niveaux :
  • Au niveau de la base de données, il doit exister un utilisateur avec un mot de passe correspondant.
  • Au niveau du projet, l'utilisateur peut ne pas disposer des autorisations IAM appropriées, telles que serviceusage.services.use ou cloudsql.instances.connect.
  • Au niveau du réseau, si l'instance Cloud SQL utilise une adresse IP publique, l'adresse IP source de la connexion doit se trouver dans un réseau autorisé.

Essayez les solutions suivantes ...

  • Assurez-vous qu'il existe un utilisateur avec un mot de passe correspondant.
  • Attribuez le rôle Service Usage Consumer au compte utilisateur. Ce rôle inclut l'autorisation serviceusage.services.use.
  • Si vous utilisez une adresse IP publique, assurez-vous que l'adresse IP source se trouve dans un réseau autorisé.
Message d'erreur Dépannage
Erreur x509 : le certificat n'est valide pour aucun nom. Problème connu : les appels de proxy Cloud SQL ne sont pas compatibles avec Go 1.15 pour le moment.

En attendant, consultez cette discussion sur GitHub, qui inclut une solution de contournement.

Erreurs inconnues

Le tableau suivant présente quelques cas connus pouvant générer une erreur Unknown Error et répertorie des solutions spécifiques, le cas échéant. Toutefois, cette liste n'est pas exhaustive. Si votre cas n'apparaît pas dans le tableau, consultez l'outil public de suivi des problèmes de Cloud SQL. Si vous n'y trouvez pas votre problème, pensez à envoyer un rapport ou à consulter les autres options d'assistance.

Opération Cause possible Solutions possibles
Ajouter un utilisateur Si l'utilisateur existe déjà dans la base de données, cette erreur peut se produire lorsque vous essayez de l'ajouter. Vérifiez que l'utilisateur n'existe pas déjà dans la base de données.
Sauvegarde Si ce message s'affiche pendant les sauvegardes manuelles ou automatiques, il est probable que le disque de l'instance soit saturé. Si le fichier temporaire occupe trop d'espace, vous pouvez redémarrer l'instance afin de le supprimer et de libérer l'espace disque qu'il utilisait. Dans le cas contraire, vous devrez peut-être mettre à niveau votre instance vers un disque de taille plus importante.
Cloner Ce message peut s'afficher en raison d'un manque de ressources dans la zone sélectionnée. Essayez dans une autre zone de la région, ou patientez et réessayez plus tard.
Créer une instance
  • Ce message peut s'afficher si vous essayez de réutiliser le même nom que celui d'une instance récemment supprimée.
  • Cela peut également être dû à des problèmes de connectivité intermittents.
  • Les journaux peuvent indiquer que l'API Service Networking n'est pas activée pour le projet.
  • L'erreur a également pu être observée lorsque vous essayez de créer plusieurs instances en parallèle. Les scripts Terraform, entre autres, peuvent vous permettre de réaliser cette tentative.
  • Il se peut également qu'une ressource spécifique soit épuisée ou qu'une limite de quota ait été dépassée. Recherchez une entrée du type Quota 'INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK' exceeded. Limit: 100.0 globally dans les journaux.
  • Cette erreur peut se produire en cas d'échec de la création du sous-réseau lorsqu'il n'y a plus d'adresses disponibles dans la plage d'adresses IP.
  • Après avoir supprimé une instance, vous devez attendre environ une semaine avant de pouvoir réutiliser son nom.
  • Si vous rencontrez des problèmes de connectivité intermittents, la seule solution possible consiste à réessayer.
  • Activez l'API Service Networking pour le projet.
  • Les scripts de création d'instances parallèles ne parviendront à créer qu'une seule de ces instances. Modifiez le script pour laisser chaque opération de création d'instance aboutir avant de passer à la suivante.
  • Allouez de nouvelles plages.
Créer une instance répliquée Les fichiers journaux indiquent probablement une erreur plus spécifique. Inspectez les journaux dans Cloud Logging pour rechercher l'erreur en question.

Si l'erreur est set Service Networking service account as servicenetworking.serviceAgent role on consumer project, désactivez et réactivez Service Networking API. Cette action crée le compte de service nécessaire pour poursuivre le processus.

Si l'erreur est The instance creation failed due to a permission error with the CMEK key defined, consultez les paramètres de clé et l'emplacement.

Exporter Si ce message s'affiche lorsque vous essayez d'exporter une base de données vers un bucket Cloud Storage, le transfert peut échouer en raison d'un problème de bande passante. L'instance Cloud SQL peut se trouver dans une région différente de celle du bucket Cloud Storage. La lecture et l'écriture de données d'un continent à l'autre impliquent une utilisation importante du réseau, pouvant entraîner ce type de problèmes intermittents.
Basculement (automatique) Une opération de basculement automatique peut générer ce message d'erreur lorsque le service détecte que l'instance principale est toujours réactive. Dans ce cas, aucune action de votre part n'est nécessaire. Le basculement n'a pas lieu, car il n'est pas requis.
Importer Le fichier d'importation peut contenir des instructions qui nécessitent le rôle de super-utilisateur. Modifiez le fichier pour supprimer toutes les instructions nécessitant le rôle de super-utilisateur.

Cloud SQL utilise également certains binaires tiers (par exemple, mysqld), qui peuvent générer des messages d'erreur inconnus. De telles erreurs sont internes aux binaires tiers et dépassent le cadre de Cloud SQL. Toutefois, une erreur plus spécifique peut parfois être consignée dans les fichiers journaux Cloud SQL à peu près au même instant.

Il peut également s'agir d'un code d'erreur inconnu. Dans ce cas, le message complet peut être Unknown Error Code.