0
テーブルAに2,000万エントリ、テーブルBにさらに<百万エントリがあるとします。PostgreSQLのデッドロックが検出されました
私は、この変更は、TableBの上で何かを変更していますか?BのポインティングからA.Process 1240: ALTER TABLE "product" ADD CONSTRAINT
"product_top_id_56635_fk_tableb_id" FOREIGN KEY ("top_id")
REFERENCES "tableb" ("id") DEFERRABLE INITIALLY DEFERRED
にFKを追加しようとしている
どうしてデッドロックの原因になっていないのですか?
しかし、なぜBがAの変更を気にしているのですか?整合性をチェックしないため、Aをロックする必要のないFKタイプがありますか? – EralpB
外部キーは整合性制約なので、常に整合性をチェックします。それはその仕事です。完全性をチェックしたくない場合は、外部キーを定義しないでください。制約は、Bの行が依存する行を削除するのと同様に、制約を無効にするAの変更を防止する必要があります。 –