gpt4 book ai didi

database - postgresql 中的 max_stack_depth 错误

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:33 25 4
gpt4 key购买 nike

我创建触发器来存储工资金额,但是当我触发插入查询时

INSERT INTO employees(
employee_id, first_name, last_name, email, phone_number, hire_date,
job_id, salary, commission_pct, manager_id, department_id)
VALUES (2002,'poiuy','patel','bhargavgor@dfghj',9898562123,'2012-07-31 00:00:00','IT_PROG',4500.00,0.00,100,60);

然后它将向我显示以下错误设置max_stack_depth的限制所以任何人都可以给我解决这个错误的想法..

我还尝试更改配置文件中 max_stack_depth 的值,但它不起作用

错误点赞

ERROR:  stack depth limit exceeded
HINT: Increase the configuration parameter "max_stack_depth" (currently 2048kB), after ensuring the platform's stack depth limit is adequate.

最佳答案

我会说你在 employees 上有一个 ON INSERT OR UPDATE 触发器,它直接或间接地对 UPDATE employees 表而不检查它是直接调用还是通过触发器调用。

这通常是一个编程错误,您在 employee 表上执行 UPDATE 而不是让 BEFORE INSERT OR UPDATE ... FOR EACH ROW 触发器修改 NEW 的值。

有时候是两个触发器之间的相互递归,比较难处理。不幸的是,我不知道有什么方法可以检测触发器是由直接客户端语句还是通过另一个存储过程或触发器调用的。通常需要更改设计以避免相互递归。

参见 Prevent recursive trigger in PostgreSQL .

关于database - postgresql 中的 max_stack_depth 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com