首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将当前pgAdmin用户或当前数据库用户记录到文件中?

如何将当前pgAdmin用户或当前数据库用户记录到文件中?
EN

Stack Overflow用户
提问于 2019-04-15 19:47:19
回答 1查看 231关注 0票数 0

我想要在pgAdmin-4 (版本3.0)上有一个审计跟踪,关于哪个用户运行哪个查询。我已经设置了pgAdmin的配置来显示所需的日志,但是它没有显示当前连接的pgAdmin用户或当前的DB用户。它只显示记录器名称pgadmin。日志示例:

代码语言:javascript
复制
2019-04-15 11:38:56,769: SQL    pgadmin:    Execute (async) for server #8 - CONN:2363996 (Query-id: 780067):
select * from my_table limit 5;
2019-04-15 11:38:57,135: SQL    pgadmin:    Polling result for (Query-id: 780067)
2019-04-15 11:38:57,136: SQL    pgadmin:    Execute (dict) for server #8 - DB:mydb_development (Query-id: 5477805):

下面是我尝试过的pgAdmin的配置(config_local.py):

代码语言:javascript
复制
DEBUG = False
CONSOLE_LOG_LEVEL = 30
FILE_LOG_LEVEL = 25
CONSOLE_LOG_FORMAT = '%(asctime)s: %(levelname)s\t%(name)s:\t%(message)s'
FILE_LOG_FORMAT = '%(asctime)s: %(levelname)s\t%(name)s:\t%(message)s'
LOG_FILE = '/var/log/pgadmin/pgadmin4.log'

我想要的是能够打印当前使用的pgAdmin用户,或者如果做不到,只打印当前的数据库用户。

示例:

代码语言:javascript
复制
2019-04-15 11:38:56,769: SQL    my_pgadmin_user:    Execute (async) for server #8 - CONN:2363996 (Query-id: 780067):
select * from my_table limit 5;

代码语言:javascript
复制
2019-04-15 11:38:56,769: SQL    my_postgres_user:   Execute (async) for server #8 - CONN:2363996 (Query-id: 780067):
select * from my_table limit 5;

任何帮助都是非常感谢的。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 11:41:09

我最终修改了文件pgadmin4/pgadmin/utils/driver/psycopg2/connection.py上的pgadmin代码,以显示DB角色。

方法名称: execute_async更改

代码语言:javascript
复制
        d = self.conn.get_dsn_parameters()

        current_app.logger.log(
            30,
            u"Execute (async) by {db_user} for server #{server_id} - {conn_id} (Query-id: "
            u"{query_id}):\n{query}".format(
                db_user=d['user'],
                server_id=self.manager.sid,
                conn_id=self.conn_id,
                query=query.decode('utf-8'),
                query_id=query_id
            )
        )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55688516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档