在我们的数据库中,我们有一个login
表格,其中包含颜色username
和password
。如何在触发器函数内检索此用户名,以便也可以对其进行审计。触发器函数内的user
关键字检索postgresql用户名,我需要的是应用程序用户名。有什么建议吗?
答案 0 :(得分:2)
您可以在postgresql.conf
中设置自定义GUC。使用它在登录时使用SET myapp_username
存储应用程序用户名。使用current_setting(myapp_username)
或者,在用户登录时创建一个TEMPORARY
表,并在登录时将INSERT
用户的应用程序用户名创建到其中。 SELECT
它会在必要时触发。
当然,这两者都要求用户不能直接运行自定义SQL,但这通常是您正在使用的应用程序级身份验证的要求。
中的更多细节