主要问题是我想审核用户行为(使用触发器),但我们目前正在对我们的数据库使用连接池,所以不要将他们的用户名/ID 直接放在数据库中。
我知道 MSSQL Server 中有一个 EXECUTE AS LOGIN 函数。MySQL 或 Postgres 中有类似的东西吗?
除了从 ORM 而不是数据库进行审计之外,我还有其他选择吗?
谢谢!
主要问题是我想审核用户行为(使用触发器),但我们目前正在对我们的数据库使用连接池,所以不要将他们的用户名/ID 直接放在数据库中。
我知道 MSSQL Server 中有一个 EXECUTE AS LOGIN 函数。MySQL 或 Postgres 中有类似的东西吗?
除了从 ORM 而不是数据库进行审计之外,我还有其他选择吗?
谢谢!
在 PostgreSQL 中,您可以使用SET ROLE
,SET SESSION AUTHORIZATION
但您必须在数据库中已定义角色。
您可以选择其中哪一个更适合您的需求。
除了 SET ROLE 之外,还有另一个可能有用的选项SET APPLICATION_NAME。这不一定是应用程序 - 只要您的应用程序的用户名适合 64 个字符,它就非常有用。