0
点赞
收藏
分享

微信扫一扫

PostgreSQL 中的一些监控及问题发现脚本


PostgreSQL 中的一些监控及问题发现脚本_oracle

作为可以替换ORACLE 重要的一员,PG 是很值得学习。 今天总结一下 PostgreSQL, 如何进行故障的排错,小道消息是,昨天上午还是小道消息的,估计今天已经消息人尽皆知了,中国ORACLE 研发中心 dismission, N+6 外企还是很阔绰的。 网上也是讨论一堆中年人,就这样被抛弃了,如果知识不更新,脑子里面都是ORACLE ,恐怕是........


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


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


PostgreSQL 中的一些监控及问题发现脚本_oracle_02

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


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

PostgreSQL 中的一些监控及问题发现脚本_数据库_03


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

PostgreSQL 中的一些监控及问题发现脚本_postgresql_04

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


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


PostgreSQL 中的一些监控及问题发现脚本_oracle_05


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


PostgreSQL 中的一些监控及问题发现脚本_数据库_06


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

PostgreSQL 中的一些监控及问题发现脚本_oracle_07



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


PostgreSQL 中的一些监控及问题发现脚本_oracle_08

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

举报

相关推荐

0 条评论