【问题标题】:Find unused tables in Amazon RDS (Postgres)在 Amazon RDS (Postgres) 中查找未使用的表
【发布时间】:2019-06-08 15:25:30
【问题描述】:

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

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

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

【问题讨论】:

  • 您一直说您正在寻找“RDS”的解决方案。 RDS 为您管理服务器,而不是单个数据库表。您的问题是关于 RDBMS 引擎内部发生的事情。您需要为此寻找“Postgres”解决方案,而不是“RDS”。
  • 这完全有道理。我包含 RDS 只是因为我认为控制台或 CLI 中可能内置了一些我不知道的功能,而 AWS 通常就是这种情况。
  • 我认为这个 Postgresql 答案可以帮助你:stackoverflow.com/a/3869606/2831645
  • 统计收集器视图正是我所需要的,谢谢!

标签: postgresql amazon-web-services amazon-rds


【解决方案1】:

事实证明,我需要在 statistics collector 视图中显示统计信息,特别是 pg_stat_user_tables

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 2023-04-07
    • 2020-11-02
    • 2013-12-05
    • 2023-03-10
    • 2017-07-23
    • 2017-03-18
    相关资源
    最近更新 更多