全部产品
Search
文档中心

Hologres:Kueri struktur dan alur data tabel dinamis

更新时间:Nov 10, 2025

Topik ini menjelaskan cara mengkueri struktur tabel dinamis, semua tabel dinamis dalam instans saat ini, serta alur data dan detail penyimpanan tabel dinamis, bersama dengan cara mengelola tabel status.

Kueri struktur tabel dinamis

  • Sintaksis

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

    • schema_name: opsional. Nama skema.

    • table_name: wajib. Nama tabel dinamis.

Kueri semua tabel dinamis di instance saat ini

Anda dapat mengeksekusi perintah SQL berikut pada tabel sistem hologres.hg_dynamic_table_properties untuk melihat semua tabel dinamis dalam instans saat ini dan mode refresh yang dikonfigurasikan.

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

Anda juga dapat mengeksekusi pernyataan berikut untuk mengkueri semua metadata tabel dinamis tertentu:

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

Kueri garis keturunan data tabel dinamis

Visualisasi

Anda dapat melihat alur data tabel dinamis di HoloWeb dan DataWorks Data Map.

  • HoloWeb: Di HoloWeb, dari menu Diagnosis dan Optimasi, pilih Table Metadata Management > Dynamic Table Management. Anda kemudian dapat melihat alur data pada tab Alur Data.

  • DataWorks Peta Data: DataWorks Peta Data secara otomatis mengumpulkan dan menampilkan alur data tabel dinamis. Untuk informasi lebih lanjut, lihat Alur Data.

SQL

Lihat alur data satu tabel dinamis

Anda dapat mengeksekusi pernyataan berikut untuk mengkueri garis keturunan data tabel dinamis tertentu:

-- Kueri garis keturunan data satu tabel dinamis.
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';

Lihat alur data semua tabel dinamis

Anda dapat mengeksekusi pernyataan berikut untuk mengkueri garis keturunan data semua tabel dinamis:

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

Informasi berikut menjelaskan nilai parameter base_table_type:

  • r: menunjukkan tabel standar.

  • v: menunjukkan tampilan.

  • m: menunjukkan tampilan materialized.

  • f: menunjukkan tabel asing.

  • d: menunjukkan tabel dinamis.

Kueri detail penyimpanan tabel dinamis

Anda dapat menggunakan fungsi hologres.hg_relation_size untuk melihat ukuran penyimpanan dan detail tabel dinamis. Untuk informasi lebih lanjut tentang fungsi hologres.hg_relation_size, lihat Lihat detail penyimpanan tabel.

Kelola tabel status

Saat membuat tabel dinamis dalam mode refresh data inkremental, sistem menghasilkan tabel status di lapisan bawah untuk menyimpan hasil agregasi data. Tabel status membantu mempercepat komputasi data. Secara default, tabel status disimpan dalam kelompok tabel default dan tidak mendukung resharding. Untuk informasi lebih lanjut, lihat Tabel dinamis. Jika Anda mengubah mode refresh dari refresh data inkremental menjadi refresh data penuh, tabel status secara default akan dihapus.

Kueri ukuran penyimpanan tabel status

Anda dapat mengeksekusi pernyataan berikut untuk mengkueri ukuran penyimpanan tabel status. Aturan penagihan penyimpanan untuk tabel status sama dengan aturan untuk tabel standar. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

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