sev*_*zas 6 postgresql log postgresql-9.3
有没有办法在 Postgres 9.3.9 中记录单个连接或用户或客户端主机的所有 SQL 查询?
换句话说,我log_statement = all
只想要某个用户名或客户端主机名或客户端 IP 或连接 ID。
一种选择是记录所有客户端的 SQL 活动并搜索日志。我希望有更好的方法。
我不知道如何为客户端主机执行此操作,但是对于单个数据库用户,您可以使用它(作为超级用户):
ALTER ROLE someone SET log_statement TO 'all';
Run Code Online (Sandbox Code Playgroud)
以后每次someone
连接时都会打开 log_statement 。
对于与您合作的单个连接,您可以创建此功能(作为超级用户):
create or replace function set_log_statement() returns void as $$
set log_statement='all'
$$ language sql security definer ;
Run Code Online (Sandbox Code Playgroud)
然后让所需的单个连接调用此函数为自己打开日志记录。
归档时间: |
|
查看次数: |
2448 次 |
最近记录: |