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.