PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

errore psql per il ripristino del backup pgsl su cmd

Come spiegato da joop, il tuo file SQL non è coerente.

Esiste un vincolo di chiave esterna da raffle.user_id a "user".id , il che significa che per ogni valore in raffle.user_id ci deve essere una riga in "user" dove id ha lo stesso valore.

Ora non c'è nessuna riga inserita in "user" con un id uguale a 1, ma lo script tenta di inserire una riga in raffle con user_id uguale a 1.

Ciò viola il vincolo della chiave esterna e causa un errore. Una volta che si è verificato un errore in una transazione PostgreSQL, tutto ciò che puoi fare è ROLLBACK . Fino a quando non lo fai, tutte le istruzioni nella transazione falliranno con l'errore che osservi.

Le uniche soluzioni che hai sono correggere i dati in modo che siano coerenti o rinunciare alla coerenza rimuovendo il vincolo della chiave esterna.

Osservazione: è una cattiva idea scegliere una parola chiave SQL riservata come USER come nome.