この行をテーブルから削除していますが、FKに多数のカスケードがあり、最終的に次のエラーが発生します。
エラー:テーブル「foo_route」の挿入または更新が外部キー制約「foo_route_bar_fk」に違反しています
SQL状態:23503
詳細:キー(bar_key)=(2176)がテーブル"bar"に存在しません。
foo_route_bar_fkは次のように定義されます。
ALTER TABLE foo_route
ADD CONSTRAINT foo_route_bar_fk FOREIGN KEY (bar_key) REFERENCES bar (bar_key)
MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE;
これらの両方に関係のないテーブルを削除すると、このエラーが発生します。何が起こっているのかはトリガーかカスケードがこのエラーを引き起こしていると思いますが、その理由を見つけるのは難しいです。
私の質問は、postgresqlでこのような問題をどのようにデバッグするのですか? このエラーの原因となった一連の手順は何ですか? Postgresqlは、失敗する前に最後に行った結果のみを通知します。これがコードの場合、エラーは非常に役立つスタックトレースを提供します。Postgresqlでそのようなものを見る方法はありますか?