Tentukan ukuran tabel dan relasi
BERLAKU UNTUK:
Azure Database for PostgreSQL - Hyperscale (Citus)
Cara biasa untuk menemukan ukuran tabel di PostgreSQL, pg_total_relation_size, secara drastis di bawah laporan ukuran tabel terdistribusi pada Hyperscale (Citus).
Semua fungsi ini yang berlaku pada grup server Hyperscale (Citus) adalah untuk menunjukkan ukuran tabel pada simpul koordinator. Pada kenyataannya, data dalam tabel terdistribusi berfungsi pada simpul pekerja (dalam pecahan), bukan pada koordinator. Pengukuran ukuran tabel terdistribusi yang sebenarnya diperoleh berupa jumlah ukuran pecahan. Hyperscale (Citus) menyediakan fungsi pembantu untuk meminta informasi ini.
| Fungsi | Mengembalikan |
|---|---|
| citus_relation_size(relation_name) |
|
| citus_table_size(relation_name) |
|
| citus_total_relation_size(relation_name) |
|
Fungsi-fungsi ini dianalogikan dengan tiga fungsi ukuran objekPostgreSQL standar, kecuali jika tidak dapat terhubung ke simpul, maka fungsi itu akan error sama sekali.
Contoh
Berikut cara mencantumkan ukuran semua tabel terdistribusi:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Output:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Langkah berikutnya
- Pelajari cara menskalakan grup server untuk menyimpan lebih banyak data.
- Bedakanjenis tabel dalam grup server Hyperscale (Citus).
- Lihat kueri diagnostik berguna lainnya.