Todos os produtos
Search
Central de documentação

Hologres:Storage functions

Última atualização: Jun 28, 2026

Use estas funções para verificar o consumo de armazenamento de bancos de dados e tabelas. Elas auxiliam no planejamento de capacidade, no acompanhamento de custos e na investigação de crescimentos inesperados de armazenamento.

Função

Assinatura

Descrição

PG_DATABASE_SIZE

PG_DATABASE_SIZE(database_name)

Retorna o tamanho total de armazenamento de um banco de dados, incluindo todas as tabelas e logs de write-ahead logging (WAL).

PG_RELATION_SIZE

PG_RELATION_SIZE(table_name)

Retorna o tamanho combinado de memória e disco de uma tabela.

HOLOGRES.HG_RELATION_SIZE

HOLOGRES.HG_RELATION_SIZE('schema.table'[, 'type'])

Detalha o armazenamento da tabela por componente: dados, binary logs ou materialized views. Requer Hologres V2.1 ou superior.

A função PG_SIZE_PRETTY converte uma contagem bruta de bytes em um formato legível, como kB, MB ou GB. As unidades seguem potências de 2: 1 kB = 1.024 bytes, 1 MB = 1.048.576 bytes. Combine-a com qualquer uma das funções acima para formatar a saída.

PG_DATABASE_SIZE

Retorna o tamanho total de armazenamento do banco de dados atual. Use esta função para obter uma visão geral do consumo de armazenamento no nível do banco de dados.

Sintaxe

SELECT PG_DATABASE_SIZE('database_name');

Parâmetros

Parâmetro

Obrigatório

Descrição

database_name

Sim

Nome do banco de dados a ser consultado.

Valor de retorno

Retorna a soma dos seguintes itens:

  • Tamanhos de armazenamento de todas as tabelas no banco de dados

  • Tamanhos dos logs WAL gerados no banco de dados

Exemplo

Obtenha o tamanho do banco de dados atual em um formato legível:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE(CURRENT_DATABASE()));

PG_RELATION_SIZE

Retorna o tamanho total de armazenamento de uma tabela, abrangendo tanto o espaço de memória quanto o espaço físico em disco. Use esta função para identificar quais tabelas mais consomem armazenamento.

Sintaxe

SELECT PG_RELATION_SIZE('table_name');

Parâmetros

Parâmetro

Obrigatório

Descrição

table_name

Sim

Nome da tabela a ser consultada.

Valor de retorno

  • Retorna um valor do tipo STRING indicando o tamanho total do espaço de memória e do espaço físico em disco ocupados atualmente pela tabela.

  • Retorna 0 se você consultar uma tabela pai particionada sem especificar uma partição filha.

  • Retorna null caso o tamanho de armazenamento da tabela seja 0.

Limitações

  • Apenas tabelas internas são suportadas. Para verificar uma tabela particionada, consulte uma tabela filha específica — não consulte a tabela pai diretamente.

  • Consultar o tamanho de armazenamento de uma tabela com binary logging ativado requer Hologres V1.3.24 ou superior. Para atualize sua instância ou obter ajuda, consulte Atualize instâncias ou Obter suporte online para Hologres.

As métricas de armazenamento coletadas do diretório do Apsara Distributed File System incluem tabelas, arquivos de metadados e arquivos temporários gerados por operações de escrita, atualização e exclusão. Consequentemente, os valores das métricas são ligeiramente superiores aos valores retornados por PG_RELATION_SIZE .

Exemplos

Os exemplos a seguir utilizam os dados de amostra para funções agregadas de uso geral.

Consulte o tamanho de armazenamento de uma única tabela:

SELECT PG_SIZE_PRETTY(PG_RELATION_SIZE('example_table'));

Liste os tamanhos de armazenamento de todas as tabelas em um banco de dados, ordenados do maior para o menor:

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;

HOLOGRES.HG_RELATION_SIZE

Retorna o tamanho de armazenamento de uma tabela detalhado por componente: dados, binary logs ou materialized views. Use esta função quando precisar de visibilidade granular sobre o que está impulsionando o consumo de armazenamento — por exemplo, para determinar se os binary logs são os principais responsáveis pelo tamanho da tabela.

Requer Hologres V2.1 ou superior. Para atualize sua instância ou obter ajuda, consulte Atualize instâncias ou Obter suporte online para Hologres.

Sintaxe

SELECT HOLOGRES.HG_RELATION_SIZE('schema.table'[, 'type']);

Parâmetros

Parâmetro

Obrigatório

Descrição

schema.table

Sim

Nome totalmente qualificado da tabela. schema é o nome do schema e table é o nome da tabela.

type

Não

Componente de armazenamento a ser consultado. Valores válidos: data, binlog, mv, all.

Valores válidos para type:

Valor

Descrição

data

Tamanho de armazenamento dos dados da tabela.

binlog

Tamanho de armazenamento dos binary logs da tabela.

mv

Tamanho de armazenamento da materialized view criada para a tabela, se houver.

all

Tamanho total de armazenamento da tabela (data + binlog + mv).

Exemplos

Os exemplos a seguir utilizam os dados de amostra para funções agregadas de uso geral.

Consulte o tamanho de armazenamento de dados de uma tabela:

SELECT HOLOGRES.HG_RELATION_SIZE('public.example_table', 'data');

Verifique o tamanho de armazenamento de binary logs de uma tabela:

SELECT HOLOGRES.HG_RELATION_SIZE('public.example_table', 'binlog');

Liste os tamanhos de armazenamento de dados de todas as tabelas em um banco de dados, ordenados do maior para o menor:

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;