本文讨论 PostgreSQL 17 中“stack depth limit exceeded”错误的成因与修复。作者实测四种情形:自更新触发器、自调用函数、通过函数读取自身表的行级安全策略、超长表达式。前三种属无限递归,调高 max_stack_depth 只能延后报错;超长表达式有界,提高上限可放行。修复方法:触发器改用 BEFORE 修改行、函数加基准条件、策略避免自引用;扁平 OR/AND 链和 IN 列表不易触发。
完成下面两步后,将自动完成登录并继续当前操作。