【发布时间】:2013-04-02 14:26:33
【问题描述】:
在我们的数据库中,我们有一个login 表,其中包含username 和password 列。如何在触发器函数中检索此用户名,以便也可以对其进行审核。触发函数中的user关键字检索postgresql用户名,我需要的是应用程序用户名。有什么建议吗?
【问题讨论】:
标签: postgresql triggers
在我们的数据库中,我们有一个login 表,其中包含username 和password 列。如何在触发器函数中检索此用户名,以便也可以对其进行审核。触发函数中的user关键字检索postgresql用户名,我需要的是应用程序用户名。有什么建议吗?
【问题讨论】:
标签: postgresql triggers
您可以在postgresql.conf 中设置自定义 GUC。使用它在使用SET myapp_username 登录时存储应用程序用户名。使用current_setting(myapp_username)在触发器中访问它
或者,在用户登录时创建一个TEMPORARY 表,并在登录时创建INSERT 用户的应用程序用户名。 SELECT 它在需要的触发器中。
当然,这两者都要求用户不能直接运行自定义 SQL,但这通常是应用程序级身份验证的要求,就像您正在使用的那样。
【讨论】: