Tamanho das tabelas no PostgreSQL

Hoje precisava saber a relação das tabelas do meu banco e principalmente o tamanho de cada tabela. Pesquisando um pouco montei o seguinte SQL.

SELECT esquema, tabela,
       pg_size_pretty(pg_relation_size(esq_tab)) AS tamanho,
       pg_size_pretty(pg_total_relation_size(esq_tab)) AS tamanho_total
  FROM (SELECT tablename AS tabela,
               schemaname AS esquema,
               schemaname||'.'||tablename AS esq_tab
          FROM pg_catalog.pg_tables
         WHERE schemaname NOT
            IN ('pg_catalog', 'information_schema', 'pg_toast') ) AS x
 ORDER BY pg_total_relation_size(esq_tab) DESC;

a coluna tamanho mostra o tamanho que os registros (tuplas) da tabela está ocupando no disco, e a coluna tamanho_total inclui também os TOASTs e os índices associados à tabela.

Qualquer outra sujestão é bem vinda :)

Uma resposta para “Tamanho das tabelas no PostgreSQL”

  1. José Rogério diz:

    Opa, valeu pela dica, funcionou perfeitamente.


Deixe uma resposta