在触发器函数内检索用户名

时间:2012-10-25 10:15:39

标签: postgresql triggers

在我们的数据库中,我们有一个login表格,其中包含颜色usernamepassword。如何在触发器函数内检索此用户名,以便也可以对其进行审计。触发器函数内的user关键字检索postgresql用户名,我需要的是应用程序用户名。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以在postgresql.conf中设置自定义GUC。使用它在登录时使用SET myapp_username存储应用程序用户名。使用current_setting(myapp_username)

访问触发器中的内容

或者,在用户登录时创建一个TEMPORARY表,并在登录时将INSERT用户的应用程序用户名创建到其中。 SELECT它会在必要时触发。

当然,这两者都要求用户不能直接运行自定义SQL,但这通常是您正在使用的应用程序级身份验证的要求。

Passing user id to PostgreSQL triggers

中的更多细节