gpt4 book ai didi

sql - Postgresql session 的自定义参数

转载 作者:行者123 更新时间:2023-11-29 13:02:28 24 4
gpt4 key购买 nike

为了在 PostgreSQL 数据库中记录表数据更改,我在更新和插入时在表上创建了触发器,但是除了更改内容之外,我想知道是谁更改了它,但是站点代码使用一个“数据库用户”来连接到数据库,我可以通过 CURRENT_USER 变量获得。我如何将一些参数(“站点用户”名称)附加到数据库 session ,以便稍后我可以在触发器函数中的数据库中获取它。在网站上,我使用的是 SQLAlchemy。

最佳答案

抱歉,我正在回答我的问题,但刚刚找到了另一个解决方案使用自定义选项 http://www.postgresql.org/docs/9.3/static/runtime-config-custom.html

在postgresql.conf中添加

如果版本 >= 9.2

site.user = NULL

如果版本 <= 9.1

custom_variable_classes = 'site'
site.user = NULL

然后在事务范围内

SELECT SET_CONFIG('site.user', 'user name', true); 
...
SELECT INTO site_user CURRENT_SETTING('site.user');

关于sql - Postgresql session 的自定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25305194/

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