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

Kdy Postgres kontroluje jedinečná omezení?

Postgres se rozhodne zkontrolovat omezení typu IMMEDIATELY v jiném čase, než je navrženo ve standardu SQL.

Konkrétně dokumentace pro SET CONSTRAINTS uvádí (důraz můj):

Postgres se rozhodl provést tento dotaz pomocí plánu, který má za následek dočasnou kolizi pro sort_order a OKAMŽITĚ selže. Upozorňujeme, že pro stejné schéma a stejná data může stejný dotaz fungovat nebo selhat v závislosti na plánu provádění.

Budete muset nastavit omezení DEFERRABLE nebo DEFERRABLE INITIALLY DEFERRED , což zdržuje ověření omezení až do konce transakce nebo až do bodu, kdy se zobrazí příkaz SET CONSTRAINTS ... IMMEDIATE se provede.

Dodatek z komentáře @HansGinzel:




  1. Chyba Postgres v dávkovém vložení:vztah hibernate_sequence neexistuje pozice 17

  2. Jak ukládat znaky UTF8 v MySQL

  3. Chyba PID při startu mysql.server?

  4. Oprava „název profilu není platný“ při odesílání pošty ze serveru SQL