史上最全PostgreSQLDBA最常用SQL


当前第2页 返回上一页

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

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

select * from dba.top10notusedidx;

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

select * from dba.top10notusedtab;

24、查询热表top 10

select * from dba.top10hottab;  

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

select * from dba.top10coldtab;   

26、查询热索引top 10

select * from dba.top10hotidx;  

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

select * from dba.top10coldidx; 

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

select * from dba.v_freeze;

select * from dba.v_freeze_stat;

select * from dba.v_freeze_stat_detail;

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

select * from dba.top20freezebigtable;
  
-- 结合dba.tps, 可以通过remain_ages_xid/dba.tps估算每个表还有多久会发生freeze.
call dba.tps();

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

select * from  dba.ro_conflicts;

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

set statement_timeout ='1s';
set lock_timeout='10ms';

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

show max_standby_streaming_delay ;
 max_standby_streaming_delay 
-----------------------------
 5min
(1 row)

32、清理数据库stat计数器

\df *.*reset*
                                              List of functions
   Schema   |                  Name                  |     Result data type     | Argument data types | Type 
------------+----------------------------------------+--------------------------+---------------------+------
 pg_catalog | pg_replication_origin_session_reset    | void                     |                     | func
 pg_catalog | pg_replication_origin_xact_reset       | void                     |                     | func
 pg_catalog | pg_stat_get_bgwriter_stat_reset_time   | timestamp with time zone |                     | func
 pg_catalog | pg_stat_get_db_stat_reset_time         | timestamp with time zone | oid                 | func
 pg_catalog | pg_stat_reset                          | void                     |                     | func
 pg_catalog | pg_stat_reset_shared                   | void                     | text                | func
 pg_catalog | pg_stat_reset_single_function_counters | void                     | oid                 | func
 pg_catalog | pg_stat_reset_single_table_counters    | void                     | oid                 | func
 public     | pg_stat_statements_reset               | void                     |                     | func
(9 rows)

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

call dba.wal_receive_bw();

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

call dba.wal_replay_bw();

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

select * from dba.arch_undone;

select * from dba.arch_status;

select * from dba.walsize;

select * from dba.repslots;

select * from dba.wal_keep_size;

select * from dba.max_wal_size;

36、长事务、prepared statement

select * from dba.long_snapshot;

37、查询失效的索引。

select * from dba.invalid_index;

参考

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

到此这篇关于PostgreSQL DBA最常用SQL的文章就介绍到这了,更多相关PostgreSQL DBA常用SQL内容请搜索

更多SQL内容来自木庄网络博客


打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...