【问题标题】:postgresql total database size not matching sum of individual table sizespostgresql 总数据库大小与单个表大小的总和不匹配
【发布时间】:2011-02-24 22:30:18
【问题描述】:

我的 postgres 数据库(版本 8.2.3)显示大小为 24 GB。

为了得到这个数字,我执行了这个查询:

SELECT
  oid, datname, pg_database_size(datname) as actualsize, 
  pg_size_pretty(pg_database_size(datname)) as size 
FROM pg_database 
ORDER BY datname  

但是,当我执行此查询时,同一数据库中各个表的大小不会增加 24 GB:

SELECT 
  schemaname, tablename, pg_size_pretty(size) AS size_pretty, 
  pg_size_pretty(total_size) AS total_size_pretty 
FROM
  (SELECT *, pg_relation_size(schemaname||'.'||tablename) AS size, 
   pg_total_relation_size(schemaname||'.'||tablename) AS total_size 
   FROM pg_tables where schemaname = 'public') AS TABLES 
ORDER BY total_size DESC;

我已经用漂亮的大小和total_size总结了各个表的大小,但值不匹配:

我得到了 3.5 GB 的大小

我得到了 5.2 GB 的 total_size_pretty。

我在哪里可以找到剩余的总空间被用于什么?

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    通常我使用以下两个查询来获取数据库对象的大小。希望这会有所帮助。

    SELECT pg_size_pretty(sum(pg_relation_size(pg_class.oid))::bigint), nspname,
    CASE pg_class.relkind WHEN 'r' THEN 'table' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 'v' THEN 'view' WHEN 't' THEN 'toast' ELSE pg_class.relkind::text END
    FROM pg_class
    LEFT OUTER JOIN pg_namespace ON (pg_namespace.oid = pg_class.relnamespace)
    GROUP BY pg_class.relkind, nspname
    ORDER BY sum(pg_relation_size(pg_class.oid)) DESC;
    

    -

    SELECT pg_size_pretty(pg_relation_size(pg_class.oid)), pg_class.relname, pg_namespace.nspname,
    CASE pg_class.relkind WHEN 'r' THEN 'table' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 'v' THEN 'view' WHEN 't' THEN 'TOAST' ELSE pg_class.relkind::text END
    FROM pg_class 
    LEFT OUTER JOIN pg_namespace ON (pg_namespace.oid = pg_class.relnamespace)
    ORDER BY pg_relation_size(pg_class.oid) DESC;
    

    【讨论】:

    • 非常好的查询,非常感谢。 (找到 10GB 的索引...)
    【解决方案2】:

    所有索引和大对象的总大小是多少?

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 2016-01-19
      相关资源
      最近更新 更多