Menentukan ukuran tabel dan relasi di Azure Cosmos DB for PostgreSQL
BERLAKU UNTUK: Azure Cosmos DB for PostgreSQL (didukung oleh ekstensi database Citus ke PostgreSQL)
Cara biasa untuk menemukan ukuran tabel di PostgreSQL, pg_total_relation_size
, secara drastis kurang melaporkan ukuran tabel terdistribusi di Azure Cosmos DB for PostgreSQL.
Semua fungsi ini dilakukan pada kluster adalah untuk mengungkapkan 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. Azure Cosmos DB for PostgreSQL menyediakan fungsi pembantu untuk mengkueri 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 kluster untuk menyimpan lebih banyak data.
- Membedakan jenis tabel dalam kluster.
- Lihat kueri diagnostik berguna lainnya.