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_sizeuntuk memeriksa ukuran penyimpanan tabel Hologres yang memiliki binary logging diaktifkan.Fungsi
pg_relation_sizedigunakan 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 fungsipg_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;