Tous les produits
Search
Centre de documentation

Hologres:View dynamic table schema and lineage

Dernière mise à jour :Sep 18, 2026

Pour inspecter, auditer ou déboguer des Dynamic Tables dans Hologres, vous devez récupérer les définitions DDL, répertorier toutes les Dynamic Tables d’une instance, tracer la lignée des données, vérifier la consommation de stockage et gérer les tables d’état générées par l’actualisation incrémentielle. Cette rubrique détaille ces tâches.

Tâche Description
Consulter le schéma d’une Dynamic Table Récupérez l’instruction DDL d’une Dynamic Table spécifique.
Répertorier les Dynamic Tables de l’instance actuelle Interrogez toutes les Dynamic Tables et leurs modes d’actualisation.
Consulter la lignée des données Tracez les dépendances en amont et en aval à l’aide de la console ou du SQL.
Consulter les détails de stockage Vérifiez la taille de stockage d’une Dynamic Table.
Gérer les tables d’état Comprenez et surveillez la table d’état générée pour l’actualisation incrémentielle.

Consulter le schéma d’une Dynamic Table

Utilisez hg_dump_script pour récupérer l’instruction DDL d’une Dynamic Table.

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

Paramètres

Paramètre Obligatoire Description
schema_name Non Nom du schéma qui contient la Dynamic Table.
table_name Oui Nom de la Dynamic Table.

Répertorier les Dynamic Tables de l’instance actuelle

La table système hologres.hg_dynamic_table_properties stocke les métadonnées de toutes les Dynamic Tables de l’instance actuelle.

Pour répertorier toutes les Dynamic Tables et leurs modes d’actualisation :

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

Pour afficher toutes les métadonnées d’une Dynamic Table spécifique :

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

Colonnes de hg_dynamic_table_properties

Colonne Description
dynamic_table_name Nom de la Dynamic Table.
dynamic_table_namespace Schéma qui contient la Dynamic Table.
property_key Nom de la propriété de métadonnée. Par exemple, refresh_mode.
property_value Valeur de la propriété.

Consulter la lignée des données

La lignée des données indique les tables sources (en amont) d’une Dynamic Table ainsi que les tables ou Dynamic Tables qui en dépendent (en aval). Elle s’avère utile pour diagnostiquer les retards d’actualisation ou évaluer l’impact des modifications de schéma sur un pipeline.

Visualisation

Consultez la lignée sous forme de graphique interactif dans HoloWeb ou DataWorks Data Map :

  • HoloWeb : Dans la console HoloWeb, accédez à Table Metadata Management > Dynamic Table Management. Dans l’onglet Lineage Information, consultez le graphique de lignée de la Dynamic Table.

  • DataWorks Data Map : DataWorks Data Map collecte et affiche automatiquement la lignée des données des Dynamic Tables. Pour plus d’informations, consultez Lignée des données.

Méthode SQL

Toutes les requêtes de lignée utilisent la vue système hologres.hg_dynamic_table_dependencies, qui enregistre les dépendances en amont de chaque Dynamic Table.

Colonnes de hg_dynamic_table_dependencies

Colonne Description
dynamic_table_namespace Schéma qui contient la Dynamic Table.
dynamic_table_name Nom de la Dynamic Table.
table_namespace Schéma de la dépendance en amont.
table_name Nom de la dépendance en amont.
dependency Type de dépendance. La valeur internal_table indique une dépendance système interne ; excluez cette valeur des requêtes de lignée.

Consulter la lignée des données d’une seule 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';

Consulter la lignée des données de toutes les Dynamic Tables

Supprimez les filtres dynamic_table_namespace et dynamic_table_name pour renvoyer les dépendances de toutes les Dynamic Tables de l’instance :

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';

Comprendre base_table_type

L’expression CASE déduit base_table_type à partir de deux sources : si la dépendance est elle-même une Dynamic Table (trouvée dans hg_dynamic_table_properties), le type est 'd' ; sinon, le type provient de pg_class.relkind. Le tableau suivant décrit les valeurs possibles.

Valeur Type de table
r Table ordinaire
v Vue
m Vue matérialisée
f Table étrangère
d Dynamic Table

Consulter les détails de stockage

Utilisez la fonction hologres.hg_relation_size pour consulter la taille et les détails de stockage d’une Dynamic Table. Pour plus d’informations, consultez Consulter les détails de stockage d’une table.

Gérer les tables d’état

Lorsqu’une Dynamic Table utilise l’actualisation incrémentielle, Hologres crée automatiquement une table d’état au niveau sous-jacent pour accélérer le calcul des données. La table d’état stocke les résultats d’agrégation.

Comportements clés :

  • La table d’état est stockée dans le groupe de tables par défaut et ne prend pas en charge le resharding.

  • Si vous basculez le mode d’actualisation de l’incrémentiel vers l’actualisation complète, la table d’état est vidée par défaut.

Pour plus d’informations sur l’actualisation incrémentielle et l’actualisation complète, consultez Dynamic Table.

Consulter l’utilisation du stockage de la table d’état

Exécutez la commande SQL suivante pour obtenir la taille de stockage de la table d’état. Le stockage est facturé au même tarif qu’une table standard. Pour plus d’informations, consultez Présentation de la facturation.

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