小编Bha*_*ava的帖子

postgresql总数据库大小不匹配各个表大小的总和

我的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  
Run Code Online (Sandbox Code Playgroud)

但是,执行此查询时,同一数据库中各个表的大小不会增加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;
Run Code Online (Sandbox Code Playgroud)

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

我的大小相当于3.5 GB

我得到一个5.2 GB的total_size_pretty.

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

postgresql

9
推荐指数
2
解决办法
3022
查看次数

标签 统计

postgresql ×1