- Logiciels et services numériques
- Base de données
23505
PostgreSQL 23505 : violation d’une contrainte unique
Niveau de risque
Faible
Peut généralement être contrôlé sans outil spécialisé.
Urgence
Modérée
Réponse rapide
SQLSTATE 23505 correspond à unique_violation. Un INSERT ou UPDATE a tenté de créer une combinaison de valeurs en conflit avec une contrainte ou un index unique.
La sécurité avant tout
Avant de continuer
- Ne supprimez ni lignes ni contrainte unique comme correction générique. Identifiez d’abord la règle nommée et le comportement de conflit attendu.
Vérifications que vous pouvez effectuer sans danger
- Capturer tous les champs de l’erreur
- Inspecter la règle d’unicité nommée
- Distinguer doublon invalide et conflit attendu
Confiez ces interventions à un professionnel qualifié
- N’essayez pas d’effectuer cette intervention professionnelle: Réviser le chemin d’écriture et la concurrence
Ce qu’un technicien doit pouvoir justifier
Visite technicien
Voici les étapes qu'il doit réaliser et vous montrer. Cochez-les pendant son travail : s'il en saute, n'acceptez pas le remplacement.
Il ne s’agit pas d’instructions pour ouvrir ou manipuler vous-même l’appareil, mais des contrôles qui doivent étayer une conclusion technique.
Réviser le chemin d’écriture et la concurrence
Ce qu'il faitUn spécialiste base de données doit examiner transactions clés d’idempotence cibles de conflit et règle métier quand 23505 se répète sous charge.
Avant d'accepter une pièce ou une réparation
Rien n'a encore été démontré. N'acceptez pas un remplacement sur la seule base du code.
Suivez ces étapes
Remarque: Suivez l’ordre documenté. Un code identifie le système concerné, mais ne prouve pas à lui seul qu’une pièce précise est défectueuse.
Capturer tous les champs de l’erreur
Conservez SQLSTATE 23505 avec le nom de la contrainte la table et le détail fourni par le pilote. Ne diagnostiquez pas avec le seul numéro.
Masquez données de production et identifiants avant de partager les journaux.
Justification: PostgreSQL current error codes appendix
Inspecter la règle d’unicité nommée
Vérifiez les colonnes ou expressions protégées par la contrainte ou l’index nommé et comparez la clé proposée à la ligne existante.
Ne supprimez pas la règle d’unicité uniquement pour faire disparaître l’exception.
Justification: PostgreSQL current error codes appendix
Distinguer doublon invalide et conflit attendu
Corrigez les données invalides à la source. Pour une opération idempotente ou un upsert définissez précisément DO NOTHING ou DO UPDATE et sa cible de conflit.
Une gestion trop large peut masquer un défaut réel de qualité des données.
Justification: PostgreSQL current INSERT and ON CONFLICT documentation
Problème non résolu
Si l'erreur persiste, arrêtez-vous ici. Voir ce que le technicien doit faire et vous montrer.
Où ce code s’applique
Un code n’a de sens que dans le contexte correct du produit et de sa version.
Périmètre principal
- Système
- Logiciels et services numériques
- Marque
- PostgreSQL
- Type de produit
- Base de données
Variantes connues du code
- PostgreSQL 23505
- SQLSTATE 23505
- unique_violation
Ce que signifie ce code
Cette erreur appartient à la classe 23 des violations d’intégrité. La correction dépend d’un doublon invalide d’une répétition idempotente ou d’un conflit attendu nécessitant une politique ON CONFLICT explicite.
Avertissements et conditions d’arrêt
- Élevéavertissement éditorial
Ne supprimez ni lignes ni contrainte unique comme correction générique. Identifiez d’abord la règle nommée et le comportement de conflit attendu.
Justification: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation
Symptômes et causes
Causes probables · par ordre
- Violation d’une contrainte uniqueConfirmée
PostgreSQL classe SQLSTATE 23505 comme unique_violation dans la classe 23 des violations d’intégrité.
Justification: PostgreSQL current error codes appendix
- INSERT ou UPDATE entre en conflit avec une clé existanteFréquente
La ligne proposée duplique une combinaison protégée par une contrainte ou un index unique.
Justification: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation
- Conflit de concurrence attendu sans politique explicitePossible
Quand les écritures répétées ou simultanées sont valides une action ON CONFLICT délibérée peut remplacer une nouvelle tentative générique.
Justification: PostgreSQL current INSERT and ON CONFLICT documentation
Technicien virtuel
Le code 23505 apparaît-il encore après ces vérifications ?
Répondez à quelques questions pour préciser la cause probable et l’action suivante la plus sûre. Ces indications ne remplacent jamais un professionnel.
Sources et références techniques
- 1
PostgreSQL current error codes appendix
PostgreSQL Global Development Group · 2026 · official_doc
- 2
PostgreSQL current INSERT and ON CONFLICT documentation
PostgreSQL Global Development Group · 2026 · official_doc
Cette fiche vous a-t-elle été utile ?