Ric*_*ard 26 postgresql debugging
我想看看在实时Django应用程序上执行哪些查询,以及它们占用多少内存.我读过这pg_stat_activity对监视Postgres数据库很有用.
我查看了Postgres文档,但是我有一个非常简单的问题,似乎没有在那里得到解答.
我如何真正开始使用pg_stat_activity?我键入什么来使用它,我在哪里键入它?
Cra*_*ger 42
看到这个密切相关的答案.
pg_stat_activity是pg_catalog架构中的视图.
您可以像查询SELECT任何其他表一样查询它,例如SELECT * FROM pg_stat_activity.您链接的手册页解释了其列.
你有时会发现自己想要加入其他表,如pg_class(表),pg_namespace(模式)等.
pg_stat_activity并没有公开有关后端的内存使用信息.您需要使用操作系统级设施.它会告诉您进程ID,活动用户,当前正在运行的查询,活动状态,上次查询开始的时间等.这有助于识别长时间运行的idle in transaction会话,长时间运行的查询等.
坦率地说,PostgreSQL的内置监控相当简陋.这是一个并不令人兴奋的领域之一,商业客户往往不愿意为此提供资金.大多数人都喜欢check_postgres使用Icinga和Munin 等工具,或者使用Zabbix或其他外部监控代理.
在你的情况下,它听起来你真的想要pg_stat_statements,和/或PgBadger日志分析与适当的日志设置和可能的auto_explain模块.
Ume*_*til 13
登录 PGAdmin,选择您的数据库并右键单击您的数据库。然后单击查询工具来运行查询并运行,
Select * from pg_stat_activity;
Run Code Online (Sandbox Code Playgroud)
它将向您显示所有可用的统计数据,并且您有权查看。