我有一个数据库,我想为几个应该能够执行某些查询的用户打开它的访问权限,但我需要监控它们。我知道我可以启用所有日志,但在这种情况下,我还会记录应用程序用户日志,其中将包含数百万个日志。
答案 0 :(得分:0)
答案完全取决于所使用的平台。您需要在连接上下文中执行和/或报告每个查询的环境类型。
例如,在NodeJS中,如果使用node-postgres,则可以访问client
对象以及执行的每个查询,并且该对象具有所有连接详细信息,包括用户名。 / p>
您需要针对特定数据库+开发环境+数据库框架解决此问题。如果没有这三个变量,就没有答案。
唯一的选择是当数据库完全通过函数访问时,这些函数会添加针对当前用户名记录每个请求详细信息的功能。但这不是一个非常好的架构。