七叶笔记 » 数据库 » 史上最全PostgreSQL DBA最常用SQL

史上最全PostgreSQL DBA最常用SQL

背景

建立视图, 方便查询

常用查询

1、查询只读节点延迟

2、查询top query, 优化之首

3、重置top query统计计数器(通常在高峰期来临前可以重置,防止结果干扰)

4、查询 qps , 在psql 终端可以每秒打印一次

4.1、查询tps

5、查询活跃会话数, 如果超过CPU核数, 说明数据库非常非常繁忙, 需要注意优化

6、当前活跃会话

7、查询锁等待, 如果有大量长时间等待, 需要注意业务逻辑是否有问题

8、查询占用空间top 10的表

9、查询占用空间top 10的索引

10、查询占用空间top 10的表(含索引)

11、查询膨胀空间top 10的表

12、查询膨胀空间top 10的索引

13、查询膨胀比例top 10的表

14、查询膨胀比例top 10的索引

15、查询更新和删除记录条数top 10的表

16、查询插入记录条数top 10的表

17、查询脏记录条数top 10的表

18、查询年龄top 10的表

19、查询当前的最老事务距离当前时间、距离当前事务数, 说明膨胀空间大小, 越大可能导致越多膨胀垃圾.

20、查询序列的剩余空间

21、PostgreSQL 谁堵塞了谁(锁等待检测)- pg_blocking_pids

《PostgreSQL 谁堵塞了谁(锁等待检测)- pg_blocking_pids》

22、查询没有使用过的大于1MB的索引 top 10 (注意, PK、UK如果只是用于约束, 可能不会被统计计数,但是不能删掉)

23、查询没有使用过的大于1MB的表 top 10

24、查询热表top 10

25、查询大于1MB的冷表top 10

26、查询热索引top 10

27、查询大于1MB的冷索引top 10(注意, PK、UK如果只是用于约束, 可能不会被统计计数,但是不能删掉)

28、查询数据库freeze风暴预测

查询top 20的大表大freeze剩余年龄。

29、查询RO节点读与replay冲突次数, 建议高频恢复中的ro节点不要跑长sql。

30、DBA在RO 节点人为执行SQL前, 建议设置sql超时, 避免长时间跑 SQL, 导致不必要的replay延迟和 conflict cancel statement

31、RO 节点的conflict容忍时间最长设置, 默认为5 min

32、清理数据库stat计数器

33、在standby节点执行, 检查当前standby节点接收wal的速度

34、在standby节点执行, 检查当前standby节点replay wal的速度

35、wal文件使用、slot风险查看。

36、长事务、prepared statement

37、查询失效的索引。

参考

《PostgreSQL 实时健康监控 大屏 - 低频指标 - 珍藏级》《PostgreSQL 实时健康监控 大屏 - 高频指标(服务器) - 珍藏级》《PostgreSQL 实时健康监控 大屏 - 高频指标 - 珍藏级》《PostgreSQL Freeze 风暴预测续 - 珍藏级SQL》

到此这篇关于PostgreSQL DBA最常用SQL的文章就介绍到这了,更多相关PostgreSQL DBA常用SQL内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章