2

我正在使用以下代码来确定我在 postgresql 中的数据库中每个表的磁盘大小:

 SELECT pg_size_pretty(pg_total_relation_size('"my_schema"."my_table"'));

我想我应该找到每个表的实际文件名以获得确切的磁盘大小。有人知道如何在文件系统级别确定实际文件名吗?

4

1 回答 1

2

像这样的东西:

select t.relname, current_setting('data_directory')||'/'||pg_relation_filepath(t.oid)
from pg_class t
  join pg_namespace ns on ns.oid = t.relnamespace
where relkind = 'r'
and ns.nspname = 'public';

如果涉及多个表空间,我不是 100% 这将显示正确的路径。

于 2013-02-01T12:54:15.117 回答