Todos os produtos
Search
Central de documentação

Hologres:View dynamic table schema and lineage

Última atualização: Sep 18, 2026

Para inspecionar, auditar ou depurar Dynamic Tables no Hologres, você precisa recuperar definições DDL, listar todas as Dynamic Tables em uma instância, rastrear a linhagem de dados, verificar o consumo de armazenamento e gerenciar tabelas de estado geradas pela atualização incremental. Esta página abrange todas essas tarefas.

Tarefa

Descrição

Visualizar o esquema de uma Dynamic Table

Recupera a instrução DDL de uma Dynamic Table específica.

Listar Dynamic Tables na instância atual

Consulta todas as Dynamic Tables e seus modos de atualização.

Visualize data lineage

Rastreia dependências upstream e downstream pelo console ou por SQL.

Visualize storage details

Verifica o tamanho de armazenamento de uma Dynamic Table.

Gerencie tabelas de estado

Explica como entender e monitorar a tabela de estado gerada pela atualização incremental.

Visualizar o esquema de uma Dynamic Table

Use hg_dump_script para recuperar a instrução DDL de uma Dynamic Table.

SELECT hg_dump_script('[<schema_name>.]<table_name>');

Parâmetros

Parâmetro

Obrigatório

Descrição

schema_name

Não

Nome do schema que contém a Dynamic Table.

table_name

Sim

Nome da Dynamic Table.

Listar Dynamic Tables na instância atual

A tabela de sistema hologres.hg_dynamic_table_properties armazena os metadados de todas as Dynamic Tables na instância atual.

Para listar todas as Dynamic Tables e seus modos de atualização:

SELECT dynamic_table_name, property_value
FROM hologres.hg_dynamic_table_properties
WHERE property_key = 'refresh_mode';

Para visualizar todos os metadados de uma Dynamic Table específica:

SELECT *
FROM hologres.hg_dynamic_table_properties
WHERE dynamic_table_name = '<dynamic_table_name>';

Colunas em hg_dynamic_table_properties

Coluna

Descrição

dynamic_table_name

Nome da Dynamic Table.

dynamic_table_namespace

Schema que contém a Dynamic Table.

property_key

Nome da propriedade de metadados. Por exemplo, refresh_mode.

property_value

Valor da propriedade.

Visualizar linhagem de dados

A linhagem de dados mostra de quais tabelas uma Dynamic Table lê (upstream) e quais tabelas ou Dynamic Tables dependem dela (downstream). Essa informação é útil para solucionar atrasos de atualização ou avaliar o impacto de alterações de esquema em um pipeline.

Visualização

Visualize a linhagem como um gráfico interativo no HoloWeb ou no DataWorks Data Map:

  • HoloWeb: No console do HoloWeb, acesse Table Metadata Management > Dynamic Table Management. Na aba Lineage Information, visualize o gráfico de linhagem da Dynamic Table.

  • DataWorks Data Map: O DataWorks Data Map coleta e exibe automaticamente a linhagem de dados das Dynamic Tables. Para mais informações, consulte Data lineage.

Método SQL

Todas as consultas de linhagem utilizam a view de sistema hologres.hg_dynamic_table_dependencies, que registra as dependências upstream de cada Dynamic Table.

Colunas em hg_dynamic_table_dependencies

Coluna

Descrição

dynamic_table_namespace

Schema que contém a Dynamic Table.

dynamic_table_name

Nome da Dynamic Table.

table_namespace

Schema da dependência upstream.

table_name

Nome da dependência upstream.

dependency

Tipo de dependência. O valor internal_table indica uma dependência interna do sistema; exclua esse valor das consultas de linhagem.

Visualizar a linhagem de dados de uma única Dynamic Table

SELECT
    d.*,
    CASE WHEN k.dynamic_table_namespace IS NOT NULL THEN
        'd'
    ELSE
        c.relkind
    END
FROM
    hologres.hg_dynamic_table_dependencies d
    LEFT JOIN pg_namespace n ON n.nspname = d.table_namespace
    LEFT JOIN pg_class c ON c.relnamespace = n.oid
        AND c.relname = d.table_name
    LEFT JOIN (
        SELECT
            dynamic_table_namespace,
            dynamic_table_name
        FROM
            hologres.hg_dynamic_table_properties
        GROUP BY
            1,
            2) k ON k.dynamic_table_namespace = d.table_namespace
        AND k.dynamic_table_name = d.table_name
WHERE
    d.dynamic_table_namespace = '<schema_name>'
    AND d.dynamic_table_name = '<dynamic_table_name>'
    AND d.dependency <> 'internal_table';

Visualizar a linhagem de dados de todas as Dynamic Tables

Remova os filtros dynamic_table_namespace e dynamic_table_name para retornar as dependências de todas as Dynamic Tables na instância:

SELECT
    d.*,
    CASE WHEN k.dynamic_table_namespace IS NOT NULL THEN
        'd'
    ELSE
        c.relkind
    END
FROM
    hologres.hg_dynamic_table_dependencies d
    LEFT JOIN pg_namespace n ON n.nspname = d.table_namespace
    LEFT JOIN pg_class c ON c.relnamespace = n.oid
        AND c.relname = d.table_name
    LEFT JOIN (
        SELECT
            dynamic_table_namespace,
            dynamic_table_name
        FROM
            hologres.hg_dynamic_table_properties
        GROUP BY
            1,
            2) k ON k.dynamic_table_namespace = d.table_namespace
        AND k.dynamic_table_name = d.table_name
WHERE
    d.dependency <> 'internal_table';

Entendendo base_table_type

A expressão CASE deriva base_table_type a partir de duas fontes: se a dependência for ela própria uma Dynamic Table (encontrada em hg_dynamic_table_properties), o tipo será 'd'; caso contrário, o tipo vem de pg_class.relkind. A tabela a seguir descreve os valores possíveis.

Valor

Tipo de tabela

r

Tabela comum

v

View

m

View materializada

f

Tabela externa (foreign table)

d

Dynamic Table

Visualizar detalhes de armazenamento

Use a função hologres.hg_relation_size para consultar o tamanho e os detalhes de armazenamento de uma Dynamic Table. Para mais informações, consulte Visualize table storage details.

Gerencie tabelas de estado

Quando uma Dynamic Table utiliza atualização incremental, o Hologres cria automaticamente uma tabela de estado na camada subjacente para acelerar a computação de dados. Essa tabela armazena resultados de agregação.

Comportamentos principais:

  • A tabela de estado fica armazenada no table group padrão e não oferece suporte a resharding.

  • Ao alternar o modo de atualização de incremental para completo, o sistema limpa a tabela de estado por padrão.

Para mais informações sobre atualização incremental e atualização completa, consulte Dynamic Table.

Visualizar o uso de armazenamento da tabela de estado

Execute o comando SQL a seguir para obter o tamanho de armazenamento da tabela de estado. O armazenamento é cobrado com a mesma tarifa de uma tabela padrão. Para mais informações, consulte Visão geral de faturamento.

SELECT pg_size_pretty(hologres.hg_dynamic_table_state_size('<dynamic_table_name>'));