如何获得每个 postgres 数据库实际分配的表空间大小?

12 postgresql

Postgres 表空间是集群范围的。因此,我如何计算每个数据库在 postgres 表空间中分配了多少空间?

Erw*_*ter 19

获取数据库占用的磁盘空间(格式良好):

SELECT pg_size_pretty(pg_database_size('mydb'))
Run Code Online (Sandbox Code Playgroud)

一个表空间占用的磁盘空间:

SELECT pg_size_pretty(pg_tablespace_size('mytblspace'))
Run Code Online (Sandbox Code Playgroud)

在手册中了解有关数据库对象大小函数的更多信息:

  • 可以非常有用地将其与系统表上的“SELECT”结合起来:“SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) FROM pg_tablespace;”和“SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;”。 (2认同)