Pesquisar
Close this search box.

Como obter o tamanho de uma tabela, database no postgreSQL

Para obter o tamanho especifico de uma tabela, deve ser usado a função pg_relation_size(), como exemplo vou buscar o tamanho de uma tabela exemplo autor_principal do database filme_verao.

select pg_relation_size('autor_principal');

pg_relation_size
------------------
            16384

O resultado vem em bytes, e como bom programa, há como deixar o seu resultado mais humanizado, com uma melhor leitura, para isso pode ser usado a função pg_size_pretty(), que irá mostrar os dados em kB, mB, Gb, ou TB da forma mais apropriada que for.

SELECT
    pg_size_pretty (pg_relation_size('autor_principal'));

pg_size_pretty
    ----------------
     16 kB
    (1 row)

Agora para obter o tamanho de um database vamos usar a função pg_database_size(), e nesse exemplo vou já me utilizar da função pg_size_pretty pois geralmente um database o seu tamanho é muito grande.

SELECT
    pg_size_pretty (
        pg_database_size ('filme_verao')
    );
pg_size_pretty
----------------
 157 GB
(1 row)

Ou vamos mostrar de todos seus databases.

SELECT
    pg_database.datname,
    pg_size_pretty(pg_database_size(pg_database.datname)) AS size
    FROM pg_database;
    datname     |  size
----------------+---------
 postgres       | 7055 kB
 template1      | 7055 kB
 template0      | 6945 kB
 filme_verao    | 157 GB
plugins premium WordPress
Abrir bate-papo
1
💬 Precisa de ajuda?
Olá
Podemos ajudá-lo?