Todos os produtos
Search
Central de documentação

:Visualizar o tamanho de armazenamento de tabelas e bancos de dados

Última atualização: Jul 08, 2026

O Hologres é compatível com PostgreSQL e oferece funções para consultar o tamanho de armazenamento de tabelas e bancos de dados. Este tópico descreve como usar instruções SQL para realizar essas consultas.

Limitações

  • É possível consultar apenas o tamanho de armazenamento de tabelas internas. O sistema não suporta consulta direta a uma tabela pai particionada e retorna 0. Para visualizar o tamanho de armazenamento de uma tabela particionada, consulte uma tabela filha específica. Se o tamanho de armazenamento da tabela for 0, a consulta retornará um valor nulo.

  • No Hologres V1.3.24 e versões posteriores, use a função pg_relation_size para visualizar o tamanho de armazenamento do binlog em tabelas com o binlog do Hologres ativado.

  • A função pg_relation_size calcula o tamanho de armazenamento de uma tabela. No entanto, as métricas de monitoramento medem o tamanho total de armazenamento de arquivos da instância no diretório Pangu. Esse diretório inclui o armazenamento de tabelas, arquivos de metadados e arquivos temporários gerados por operações de escrita, atualização e exclusão. Por isso, o tamanho de armazenamento reportado pelas métricas de monitoramento é ligeiramente maior que o resultado retornado pela função pg_relation_size.

Visualizar o tamanho de armazenamento da tabela

  • Sintaxe

    SELECT pg_relation_size('table_name');--Returns the size in bytes.
  • Parâmetros

    Parâmetro

    Descrição

    table_name

    Nome da tabela a ser consultada no banco de dados atual.

  • Valor de retorno: representa o espaço que a tabela ocupa em disco e na memória no momento da consulta.

    Para melhorar a legibilidade, utilize a função pg_size_pretty na consulta. A sintaxe é a seguinte:

    --View the storage size of a single table
    SELECT pg_size_pretty(pg_relation_size('table_name'));
    
    --View the storage size of all tables
    SELECT table_schema || '.' || table_name AS table_full_name, 
    pg_size_pretty(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))) AS table_size,
    pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name)) AS  order_size
    FROM information_schema.tables
    WHERE table_schema NOT IN ('pg_catalog','information_schema','hologres')
    ORDER BY order_size DESC;

Visualizar o tamanho de armazenamento do schema

  • Notas de uso

    Calcule o tamanho total de armazenamento de todas as tabelas em um schema específico.

  • Sintaxe

    SELECT table_schema, pg_size_pretty(SUM(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))::decimal)) AS schema_size
    FROM information_schema.tables 
    WHERE table_schema = '<schema_name>'
    GROUP BY table_schema;
  • Parâmetros

    Parâmetro

    Descrição

    schema_name

    Nome do schema a ser consultado.

  • Valor de retorno: a instrução retorna o tamanho total de armazenamento em bytes.

Visualizar o tamanho de armazenamento do banco de dados

  • Notas de uso

    Visualize o tamanho de armazenamento apenas do banco de dados conectado atualmente.

  • Sintaxe

    SELECT pg_database_size(current_database()); --Returns the size in bytes.
  • Parâmetros

    Parâmetro

    Descrição

    current_database

    Representa o banco de dados atual. Não substitua este parâmetro. Execute o comando diretamente para consultar o tamanho de armazenamento do banco de dados atual.

  • Valor de retorno: a função retorna o tamanho total de armazenamento do banco de dados em bytes. Esse tamanho inclui todas as tabelas do Hologres e o log de escrita antecipada (WAL).

    Para melhorar a legibilidade, utilize a função pg_size_pretty. A sintaxe é a seguinte:

    SELECT pg_size_pretty(pg_database_size(current_database())); --Returns the size in a human-readable format, such as KB or MB.

Visualizar detalhes de armazenamento da tabela

No Hologres V2.1 e versões posteriores, utilize a função hologres.hg_relation_size para visualizar um detalhamento completo do armazenamento de uma tabela, incluindo dados, binlog e outros componentes.

  • Limitações

    A função hologres.hg_relation_size é suportada apenas em instâncias do Hologres V2.1 e posteriores.

  • Sintaxe

    SELECT hologres.hg_relation_size('<schema.table>','[data|binlog|mv|all]') ;
  • Parâmetros

    Parâmetro

    Descrição

    schema.table

    Nome do schema e nome da tabela.

    [data|binlog|mv|all]

    Parâmetro opcional. Valores válidos:

    • data: tamanho de armazenamento dos dados da tabela.

    • binlog: tamanho de armazenamento do binlog da tabela.

    • mv: tamanho de armazenamento da visualização materializada da tabela.

    • all: tamanho total de armazenamento da tabela.

  • Exemplos

    • Exemplo 1: visualizar o tamanho de armazenamento de dados de uma única tabela.

      SELECT hologres.hg_relation_size('<schema.table>','data') ;
    • Exemplo 2: visualizar o tamanho de armazenamento do binlog de uma única tabela.

      SELECT hologres.hg_relation_size('<schema.table>','binlog') ;
    • Exemplo 3: visualizar o tamanho de armazenamento de todas as tabelas em um banco de dados.

      SELECT table_schema || '.' || table_name AS table_full_name, 
      pg_size_pretty(hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name),'data')) AS data_size,
      hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name),'data') AS  order_size
      FROM information_schema.tables
      WHERE table_schema NOT IN ('pg_catalog','information_schema','hologres','hologres_statistic')
      ORDER BY order_size DESC;