sql >> Databáze >  >> RDS >> PostgreSQL

Chyba psql pro obnovení zálohy pgsl na cmd

Jak vysvětlil joop, váš soubor SQL je nekonzistentní.

Existuje omezení cizího klíče z raffle.user_id na "user".id , což znamená, že pro každou hodnotu v raffle.user_id v "user" musí být řádek kde id má stejnou hodnotu.

Nyní není v "user" vložen žádný řádek s id rovná 1, ale skript se pokusí vložit řádek do raffle s user_id rovno 1.

To poruší omezení cizího klíče a způsobí chybu. Jakmile dojde k chybě v transakci PostgreSQL, vše, co můžete udělat, je ROLLBACK . Dokud to neuděláte, všechny příkazy v transakci selžou s chybou, kterou pozorujete.

Jediné řešení, které máte, je buď opravit data tak, aby byla konzistentní, nebo se vzdát konzistence odstraněním omezení cizího klíče.

Poznámka: je špatný nápad zvolit vyhrazené klíčové slovo SQL jako USER jako jméno.



  1. Obnovit materializované pohledy:Souběžnost, transakční chování

  2. Moje oblíbená rozšíření PostgreSQL - část druhá

  3. Msql:Počítání růstu v průběhu času

  4. Jaké je výchozí pořadí seznamu vráceného z volání filtru Django?