首页 > 解决方案 > 在 Amazon RDS (Postgres) 中查找未使用的表

问题描述

为了对我们的 Amazon RDS (Postgresql) 实例进行一些基本的管理,我的团队希望从我们的数据库中删除未使用或很少使用的表。在 Redshift 中,我使用该stl_query表来确定哪些表被频繁访问以保留下来。

问题是,我似乎无法为 Postgres 找到等效的策略。我尝试检查控制台中的日志文件,但这些文件似乎没有正确的信息。

除了在我们的代码库中搜索对已使用表的引用之外,是否有一个好的策略可以在 Postgres 中找到未使用/不经常使用的表?如果存在足够的日志,我愿意编写某种解析脚本来获取必要的数据——我只需要找到一个好的来源。

标签: postgresqlamazon-web-servicesamazon-rds

解决方案


事实证明,我需要的统计数据存在于统计收集器视图中,特别是pg_stat_user_tables.

这是我能够找到不经常访问的表的查询:

SELECT 
    relname, 
    schemaname 
FROM    
    pg_stat_user_tables
WHERE 
    (idx_tup_fetch + seq_tup_read) < 5; --access threshold

推荐阅读