全部产品
Search
文档中心

:Memeriksa ukuran penyimpanan tabel dan basis data

更新时间:Dec 26, 2025

Hologres kompatibel dengan PostgreSQL. Anda dapat menggunakan fungsi PostgreSQL untuk memeriksa ukuran penyimpanan tabel atau basis data di Hologres. Topik ini menjelaskan cara memeriksa ukuran penyimpanan tabel dan basis data dengan mengeksekusi pernyataan SQL.

Batasan

  • Anda hanya dapat memeriksa ukuran penyimpanan tabel internal. Anda tidak dapat secara langsung memeriksa ukuran penyimpanan tabel induk. Jika Anda mencoba memeriksa langsung ukuran penyimpanan tabel induk, nilai 0 akan dikembalikan. Anda dapat memeriksa ukuran penyimpanan tabel anak. Jika ukuran penyimpanan tabel adalah 0, nilai null akan dikembalikan.

  • Dalam Hologres V1.3.24 dan versi lebih baru, Anda dapat menggunakan fungsi pg_relation_size untuk memeriksa ukuran penyimpanan tabel Hologres yang memiliki binary logging diaktifkan.

  • Fungsi pg_relation_size digunakan untuk mengumpulkan ukuran penyimpanan tabel. Data deret waktu digunakan untuk mengumpulkan ukuran penyimpanan file yang disimpan di direktori Pangu pada suatu instans. File-file ini mencakup tabel, file metadata, dan file sementara yang dihasilkan oleh operasi tulis, pembaruan, dan penghapusan. Oleh karena itu, ukuran file yang dikumpulkan berdasarkan data deret waktu sedikit lebih besar daripada ukuran tabel yang diperiksa menggunakan fungsi pg_relation_size.

Memeriksa ukuran penyimpanan tabel

  • Sintaksis

    SELECT pg_relation_size('table_name');-- Satuan nilai kembali adalah byte.
  • Parameter

    Parameter

    Deskripsi

    table_name

    Nama tabel yang ingin Anda periksa ukuran penyimpanannya di basis data saat ini.

  • Nilai Kembali: Satuan nilai kembali adalah byte, dan tipe nilai kembali adalah STRING. Nilai kembali menunjukkan total ukuran memori dan ruang disk fisik yang ditempati oleh tabel pada saat ini.

    Untuk pembacaan yang lebih baik, gunakan fungsi pg_size_pretty. Contoh pernyataan:

    -- Memeriksa ukuran penyimpanan tabel tunggal di basis data saat ini.
    SELECT pg_size_pretty(pg_relation_size('table_name'));
    
    -- Memeriksa ukuran penyimpanan semua tabel dalam basis data saat ini.
    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;

Memeriksa ukuran penyimpanan skema

  • Deskripsi

    Anda dapat memeriksa ukuran penyimpanan semua tabel dalam skema dengan mengeksekusi pernyataan SQL.

  • Sintaksis

    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;
  • Parameter

    Parameter

    Deskripsi

    schema_name

    Nama skema tempat tabel saat ini termasuk.

  • Nilai Kembali: Satuan nilai kembali adalah byte.

Memeriksa ukuran penyimpanan basis data

  • Deskripsi

    Anda dapat memeriksa ukuran penyimpanan basis data saat ini dan ukuran tabel internal dalam basis data tersebut.

  • Sintaksis

    SELECT pg_database_size(current_database()); -- Satuan nilai kembali adalah byte.
  • Parameter

    Parameter

    Deskripsi

    current_database

    Basis data saat ini. Anda dapat langsung mengeksekusi pernyataan sebelumnya untuk memeriksa ukuran penyimpanan basis data saat ini.

  • Nilai Kembali: Satuan nilai kembali adalah byte. Nilai kembali menunjukkan ukuran semua tabel Hologres dan ukuran log penulisan terlebih dahulu yang dihasilkan dalam basis data saat ini.

    Untuk pembacaan yang lebih baik, gunakan fungsi pg_size_pretty. Contoh pernyataan:

    SELECT pg_size_pretty(pg_database_size(current_database())); -- Satuan nilai kembali mungkin KB atau MB.

Memeriksa detail penyimpanan tabel

Dalam Hologres V2.1 dan versi lebih baru, Anda dapat menggunakan fungsi hologres.hg_relation_size untuk memeriksa detail penyimpanan tabel, termasuk ukuran penyimpanan data dan log biner.

  • Batasan

    Hanya Hologres V2.1 dan versi lebih baru yang mendukung fungsi hologres.hg_relation_size.

  • Sintaksis

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

    Parameter

    Deskripsi

    schema.table

    Pada parameter ini, schema menentukan nama skema tempat tabel termasuk dan table menentukan nama tabel.

    [data|binlog|mv|all]

    Opsional.

    • data: ukuran penyimpanan data dalam tabel.

    • binlog: ukuran penyimpanan log biner tabel.

    • mv: ukuran penyimpanan Tampilan Material jika Tampilan Material dibuat untuk tabel.

    • all: ukuran penyimpanan total tabel.

  • Contoh

    • Contoh 1: Memeriksa ukuran penyimpanan data dalam tabel.

      SELECT hologres.hg_relation_size('<schema.table>','data') ;
    • Contoh 2: Memeriksa ukuran penyimpanan log biner tabel.

      SELECT hologres.hg_relation_size('<schema.table>','binlog') ;
    • Contoh 3: Memeriksa ukuran penyimpanan semua tabel dalam basis data.

      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;