PostgreSQL 中 SQL Servfer 的 CONTEXT_INFO 的等价物是什么?
关于我的其他问题“审核日志删除的最佳方法是什么? ”。 PostgreSQL 中相当于 CONTEXT_INFO
的是什么?
我想使用触发器记录删除操作,但由于我没有使用数据库用户作为应用的逻辑用户,因此我无法将触发器代码中的 CURRENT_USER
记录为删除记录的用户。 但是对于 INSERT
和 UPDATE
,可以记录触发器中的记录更改,因为您只需在记录中添加用户字段,例如 inserted_by
和 last_updated_by
,并使用这些字段记录到审核表。
In relation to my other question "What’s the best way to audit log DELETEs?". What's the PostgreSQL equivalent of CONTEXT_INFO
?
I want to log deletes using a trigger, but since I'm not using the database user as my app's logical user, I cannot log the CURRENT_USER
from the trigger code as the user who deleted the record. But for INSERT
and UPDATE
it is possible to log the record changes from trigger since you can just add a user field in the record, say inserted_by
and last_updated_by
, and use these fields to log to audit table.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks_II#Any_other_session_variables
PostgreSQL提供了更多变种,请查看本站。
http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks_II#Any_other_session_variables
PostgreSQL provides more variants, please, look to this site.
接受的答案已过时。
在 postgresql 的最新版本中(我认为是从 9.3 或 9.4 开始),可以设置/检索仅在当前会话[或事务]中有效的配置变量。 文档参考
设置会话的示例变量:
可以像使用其他设置返回函数一样使用函数
current_setting
。例子:
The accepted answer is outdated.
In recent versions of postgresql (since 9.3 or 9.4 I think), one can set / retrieve config variables are only alive for the current session [or transaction]. Documentation Reference
example of setting a session variable:
It is possible to use the function
current_setting
as one would use other set returning functions.example: