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

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

不说让心情不愉快的,现在说说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来对某张表的膨胀率进行分析,并且采取后续的手段予以修复

相关文章:

  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-04-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-13
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
相关资源
相似解决方案