如何调试PostgreSQL中的触发器递归?

如何调试PostgreSQL中的触发器递归?,postgresql,debugging,recursion,triggers,plpgsql,Postgresql,Debugging,Recursion,Triggers,Plpgsql,如何在PostgreSQL中确定触发器是递归还是循环有如何使用它的示例吗? 我正在寻找一个如何检查故障原因是否是递归的示例。您可以在下面的示例中使用 运行此操作将产生 NOTICE: [bar] TRIGGER DEPTH 1 NOTICE: [bar] TRIGGER DEPTH 2 ERROR: duplicate key value violates unique constraint "foo_pkey" DETAIL: Key (id)=(42) already exists.

如何在PostgreSQL中确定触发器是递归还是循环有如何使用它的示例吗?

我正在寻找一个如何检查故障原因是否是递归的示例。

您可以在下面的示例中使用

运行此操作将产生

NOTICE:  [bar] TRIGGER DEPTH 1
NOTICE:  [bar] TRIGGER DEPTH 2
ERROR:  duplicate key value violates unique constraint "foo_pkey"
DETAIL:  Key (id)=(42) already exists.
CONTEXT:  SQL statement "INSERT INTO foo VALUES (42)"
PL/pgSQL function bar() line 5 at SQL statement
SQL statement "INSERT INTO foo VALUES (42)"
PL/pgSQL function bar() line 5 at SQL statement
而这将有助于调试情况

NOTICE:  [bar] TRIGGER DEPTH 1
NOTICE:  [bar] TRIGGER DEPTH 2
ERROR:  duplicate key value violates unique constraint "foo_pkey"
DETAIL:  Key (id)=(42) already exists.
CONTEXT:  SQL statement "INSERT INTO foo VALUES (42)"
PL/pgSQL function bar() line 5 at SQL statement
SQL statement "INSERT INTO foo VALUES (42)"
PL/pgSQL function bar() line 5 at SQL statement