PostgreSQL中监控及问题发现脚本的示例分析

这篇文章主要介绍了PostgreSQL中监控及问题发现脚本的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

说说PostgreSQL 数据库界的新宠,通过某些手段来发现数据库中可能存在的问题的方法

 通过 pg_stat_activity 来获知系统的运行情况

PostgreSQL中监控及问题发现脚本的示例分析

通过上面的语句我们可以发现当前数据库中的连接情况,例如有多少个活跃的连接,有多少闲置的连接.

查看当前的transaction 中执行的时间长度, 可以发现执行时间较长的事务并查看相关的情况

PostgreSQL中监控及问题发现脚本的示例分析

另外POSTGRESQL 也有类似MYSQL的 slow log的设置,

PostgreSQL中监控及问题发现脚本的示例分析

通过修改此参数,可以将慢过设定时间的语句,记录在日志中,便于后期的分析。

当然DBA 感兴趣的问题例如是否缺少INDEX 也是可以寻找的,通过下面的脚本

PostgreSQL中监控及问题发现脚本的示例分析

寻找数据库中没有使用过的索引

PostgreSQL中监控及问题发现脚本的示例分析

发现有重复建立的索引列表

PostgreSQL中监控及问题发现脚本的示例分析

在最后,POSTGRESQL 由于相关原理,是需要对表定期进行  vacuum的,一般来说postgresql 会自动的对表进行 vaccum ,但由于某些特殊情况,如果系统不能对某些表进行 vacuum 则需要知道哪些表出现这样的情况。

PostgreSQL中监控及问题发现脚本的示例分析

这里我们可以通过 pg_stat_user_tables 表中的 n_live_tup 和 n_dead_tup来对某张表的膨胀率进行分析,并且采取后续的手段予以修复

感谢你能够认真阅读完这篇文章,希望小编分享的“PostgreSQL中监控及问题发现脚本的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!