Como obter o tamanho do espaço de tabela realmente alocado por cada banco de dados do postgres?

12

O espaço de tabela do Postgres é amplo para todo o cluster. Portanto, como eu calculei quanto espaço alocado por cada banco de dados no espaço de tabela do postgres?

Stephane Rolland
fonte

Respostas:

16

Para obter o espaço em disco ocupado por um banco de dados (bem formatado):

SELECT pg_size_pretty(pg_database_size('mydb'))

Espaço em disco ocupado por um espaço de tabela:

SELECT pg_size_pretty(pg_tablespace_size('mytblspace'))

Descubra mais sobre as funções de tamanho de objeto de banco de dados no manual :

Erwin Brandstetter
fonte
2
Pode-se muito útil combinar isso com um SELECTnas tabelas do sistema: SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) FROM pg_tablespace;e SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;.
Jpmc26