23505: unique_violation
PostgreSQLQue signifie cette erreur ?
La ligne insérée ou mise à jour viole une contrainte UNIQUE ou la PRIMARY KEY ; la même valeur existe déjà dans la table.
Cause
Réinsertion avec la même clé unique, saisie de données en double dans une colonne unique, valeur de séquence en retard à cause d'insertions manuelles, ou deux requêtes concurrentes insérant la même clé.
Comment la corriger
Le nom de la contrainte et la valeur de clé dans le détail de l'erreur indiquent quelle ligne est en conflit. Pour mettre à jour la ligne existante, utilisez INSERT ... ON CONFLICT (my_column) DO UPDATE ou DO NOTHING. Pour trouver les doublons : SELECT my_column, COUNT(*) FROM my_table GROUP BY my_column HAVING COUNT(*) > 1. Si la séquence a pris du retard : SELECT setval('seq_name', (SELECT MAX(id) FROM my_table)).