前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PostgreSQL 中的一些监控及问题发现脚本

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

作者头像
AustinDatabases
发布2019-06-21 16:00:44
9700
发布2019-06-21 16:00:44
举报
文章被收录于专栏:AustinDatabases

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

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档