我想监控从应用程序发送到我的数据库的查询。为此,我发现了pg_stat_activity,但是经常没有,返回的行在事务中读取。我做错了事情,不够快,不能看到查询过来,很困惑,或者上面所有的!
有人可以推荐最笨拙的方式来监视对Postgresql运行的查询?我更喜欢某种易于使用的基于UI的解决方案(例如:sql Server的“Profiler”),但我并不太挑剔。
使用Postgresql 8.4或更高版本,您可以使用contrib模块
pg_stat_statements收集数据库服务器的查询执行统计信息。
原文链接:https://www.f2er.com/postgresql/192966.html在数据库中运行此contrib模块pg_stat_statements.sql(在ubuntu上可以在/ usr / share / postgresql /< version> / contrib中找到)的sql脚本,并将此示例配置添加到您的postgresql.conf中开始):
custom_variable_classes = 'pg_stat_statements' pg_stat_statements.max = 1000 pg_stat_statements.track = top # top,all,none pg_stat_statements.save = off@H_502_10@要查看实时执行的查询,您可能只需配置服务器日志以显示所有具有最少执行时间的查询或查询。为此,请相应地在您的postgresql.conf中设置logging configuration parameters log_statement和log_min_duration_statement。