kam*_*aci 51 database postgresql pgadmin
我的计算机上有一个PostgreSQL数据库,我有一个运行查询的应用程序.
如何查看我的数据库上运行了哪些查询?
我用的是Linux电脑和pgadmin.
Erw*_*ter 55
打开服务器日志:
log_statement = all
Run Code Online (Sandbox Code Playgroud)
这将记录对数据库服务器的每次调用.
我不会log_statement = all在生产服务器上使用.生成大量日志文件.
有关日志记录参数的手册:
log_statement(enum)控制记录哪些SQL语句.有效值
none(关闭)ddl,mod和all(所有语句).[...]
重置log_statement参数需要服务器重新加载(SIGHUP).重新启动是没有必要的.阅读有关如何设置参数的手册.
不要将服务器日志与pgAdmin的日志混淆.两件不同的事!
如果您可以访问文件(可能不是远程服务器的情况)并且正确设置它,您还可以查看pgAdmin中的服务器日志文件.看看:Tools -> Server status.有关pgAdmin III手册中有关服务器状态窗口的更多信息,请参阅.
我更喜欢用vim(或您选择的编辑器/阅读器)读取服务器日志文件.
arv*_*ind 46
与日志记录技术相关时,PostgreSql非常先进
日志存储在Installationfolder/data/pg_log folder.日志设置放在postgresql.conf文件中.
日志格式通常设置为stderr.但建议使用CSV日志格式.为了启用CSV格式更改
log_destination = 'stderr,csvlog'
logging_collector = on
Run Code Online (Sandbox Code Playgroud)
为了记录所有查询,对于新安装非常有用,请设置min.查询的执行时间
log_min_duration_statement = 0
Run Code Online (Sandbox Code Playgroud)
要在数据库中查看活动查询,请使用
SELECT * FROM pg_stat_activity
Run Code Online (Sandbox Code Playgroud)
要记录特定查询,请设置查询类型
log_statement = 'all' # none, ddl, mod, all
Run Code Online (Sandbox Code Playgroud)
有关日志记录查询的更多信息,请参阅PostgreSql日志.