【发布时间】:2020-09-27 10:57:04
【问题描述】:
我在 postgres.conf 文件中有一个会话变量 user.user_id = 0。我使用 set_config('user.user_id', '1234'::text, FALSE) 将其设置为 1234
问题是当我使用 RAISE EXCEPTION 时,或者如果代码中有任何异常 current_setting('user.user_id') 的值被返回为 0(值被重置),我什至尝试使用临时表并存储会话数据user.user_id 在表中,我什至在异常时丢失了 TEMP 表(获取错误:关系不存在),我的理解是在 EXCEPTION 会话数据丢失。我对吗 ?有没有办法解决这个问题,在异常情况下以其他方式保留会话数据。
请指教。
【问题讨论】:
-
遇到异常时是否关闭数据库会话?这可以解释你所看到的。
-
不,我不会关闭会话。
标签: postgresql exception