首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在集群中找到最大的文件

问如何在集群中找到最大的文件
EN

Stack Overflow用户
提问于 2021-07-23 20:04:30
回答 1查看 53关注 0票数 1

Debian Linux服务器上的Postgres 13集群包含30个数据库。数据库包含多个模式。如何找到占用磁盘空间最大的文件?我试过了

代码语言:javascript
复制
select
    relname::char(25),
    pg_size_pretty(pg_total_relation_size(c.oid))::char(10) as totalsize,
    n.nspname::char(12),
    case
        when c.relkind='i' then 'index'
        when c.relkind='t' then 'toast'
        when c.relkind='r' then 'table'
        when c.relkind='v' then 'view'
        when c.relkind='c' then 'composite type'
        when c.relkind='S' then 'sequence'
        else c.relkind::text
      end ::char(14) as "type"
from
    pg_class c
    left join pg_namespace n on n.oid = c.relnamespace
    left join pg_tablespace t on t.oid = c.reltablespace
where
    (pg_total_relation_size(c.oid)>>21)>0 order by
    pg_total_relation_size(c.oid) desc

但它只返回当前数据库的大小。如何在整个集群上运行?可以将一些plpgsql脚本用于此。输出应包括数据库名称列。

客户端应用程序使用psqlODBC来获取数据,因此最好避免使用psql或shell脚本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-23 20:26:12

您不能这样做,因为您只能查询您所连接的数据库。您需要依次连接到每个数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68498895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档