PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

erreur psql pour la restauration de la sauvegarde pgsl sur cmd

Comme joop l'a expliqué, votre fichier SQL est incohérent.

Il existe une contrainte de clé étrangère de raffle.user_id à "user".id , ce qui signifie que pour chaque valeur dans raffle.user_id il doit y avoir une ligne dans "user"id a la même valeur.

Maintenant, il n'y a plus de ligne insérée dans "user" avec un id égal à 1, mais le script tente d'insérer une ligne dans raffle avec user_id égal à 1.

Cela viole la contrainte de clé étrangère et provoque une erreur. Une fois qu'il y a eu une erreur dans une transaction PostgreSQL, tout ce que vous pouvez faire est ROLLBACK . Jusqu'à ce que vous le fassiez, toutes les instructions de la transaction échoueront avec l'erreur que vous observez.

Les seules solutions que vous avez sont soit de corriger les données afin qu'elles soient cohérentes, soit de renoncer à la cohérence en supprimant la contrainte de clé étrangère.

Remarque : c'est une mauvaise idée de choisir un mot-clé SQL réservé comme USER comme nom.