如何在PostgreSQL的单独文件中记录每个(或特定)用户的查询?

时间:2015-08-06 20:50:33

标签: postgresql

我有一个数据库,我想为几个应该能够执行某些查询的用户打开它的访问权限,但我需要监控它们。我知道我可以启用所有日志,但在这种情况下,我还会记录应用程序用户日志,其中将包含数百万个日志。

1 个答案:

答案 0 :(得分:0)

答案完全取决于所使用的平台。您需要在连接上下文中执行和/或报告每个查询的环境类型。

例如,在NodeJS中,如果使用node-postgres,则可以访问client对象以及执行的每个查询,并且该对象具有所有连接详细信息,包括用户名。 / p>

您需要针对特定​​数据库+开发环境+数据库框架解决此问题。如果没有这三个变量,就没有答案。

唯一的选择是当数据库完全通过函数访问时,这些函数会添加针对当前用户名记录每个请求详细信息的功能。但这不是一个非常好的架构。