[PostgreSQL] – Tamanho das Tabelas no Banco de Dados

PostgreSQL
Em muitos casos é preciso saber o espaço em que as tabelas do banco de dados estão utilizando em disco, para fins de monitoramento e decisão de estruturação de banco. Para tal tarefa no PostgreSQL o comando abaixo resolve o problema.
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.
Com essa consulta, é possível inclusive montar scripts (em shellscript, perl, python, groovy, etc..) de monitoramento do banco, por exemplo: Caso a tabela tal, ou a soma de todas as tabelas chegar a X MB, envie um e-mail de alerta. Outra utilização seria de geração de indicadores para análise de tendência da expansão do banco.
Share

    Comments

    1. Avatar for Emerson S. Gaudêncio Rogério Martins : 7 de junho de 2022 at 5:49 pm

      Me ajudou demais!Estava precisando descobri tabelas que mais possuíam registro e com essa query, foi muito achar a table pretendida.

    2. Acredito que este script aqui ajudará aqueles armazenam dados binários dentro do banco:

      select
      chemaname as table_schema,
      relname as table_name,
      pg_size_pretty(pg_total_relation_size(relid)) as total_size,
      pg_size_pretty(pg_relation_size(relid)) as data_size,
      pg_size_pretty(pg_total_relation_size(relid) – pg_relation_size(relid)) as external_size
      from
      pg_catalog.pg_statio_user_tables
      order by
      pg_total_relation_size(relid) desc,
      pg_relation_size(relid) desc;

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.