Если у вас есть веская причина для циклической ссылки, вы также можете обойти это, воссоздав свой FK и указав предложение DEFERRABLE. Затем вы можете либо указать условие INITIALLY DEFERRED при создании ограничения, либо выполнить следующую инструкцию перед вставкой:
SET CONSTRAINT <constraint_name> DEFERRED;
Если ограничение находится в отложенном состоянии, проверка ограничения будет ждать до конца транзакции (когда отправлена неявная или явная фиксация).