《Postgres DBA: 9.查看表中被删除的元组个数》

1. SQL语句

SELECT 
    schemaname
    ,relname
    ,n_live_tup
    ,n_dead_tup
    ,last_autovacuum
FROM pg_stat_all_tables
WHERE schemaname='public'
ORDER BY n_dead_tup

2.结果

testdb=#
 schemaname |   relname   | n_live_tup | n_dead_tup | last_autovacuum
------------+-------------+------------+------------+-----------------
 public     | superperson |          0 |          0 |
 public     | person      |          8 |          4 |
(2 rows)

3.比率

SELECT 
    schemaname
    ,relname
    ,n_live_tup
    ,n_dead_tup
    ,last_autovacuum
 ,n_dead_tup
 ,current_setting('autovacuum_vacuum_scale_factor')::float8 as fac
 ,current_setting('autovacuum_vacuum_threshold')::float8 as thred
    ,n_dead_tup
    /(n_live_tup
      * current_setting('autovacuum_vacuum_scale_factor')::float8
      + current_setting('autovacuum_vacuum_threshold')::float8)   as ratio
      
FROM pg_stat_all_tables
WHERE schemaname='public'
ORDER BY n_dead_tup
    /(n_live_tup
      * current_setting('autovacuum_vacuum_scale_factor')::float8
      + current_setting('autovacuum_vacuum_threshold')::float8)
     DESC

4.结果

testdb-#  
 schemaname |   relname   | n_live_tup | n_dead_tup | last_autovacuum | n_dead_tup | fac | thred |
       ratio
------------+-------------+------------+------------+-----------------+------------+-----+-------+
--------------------
 public     | person      |          8 |          4 |                 |          4 | 0.2 |    50 |
 0.0775193798449612
 public     | superperson |          0 |          0 |                 |          0 | 0.2 |    50 |
                  0
(2 rows)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值