Bagikan melalui


Menentukan ukuran tabel dan relasi di Azure Cosmos DB for PostgreSQL

Penting

Azure Cosmos DB for PostgreSQL tidak lagi didukung untuk proyek baru. Jangan gunakan layanan ini untuk proyek baru. Sebagai gantinya, gunakan salah satu dari dua layanan ini:

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 berada pada simpul pekerja (dalam bentuk 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 Pengembalian
citus_relation_size(relation_name)
  • Ukuran data aktual dalam tabel(“garpu utama ").
  • Relasi bisa berupa nama tabel atau indeks.
citus_table_size(relation_name)
citus_total_relation_size(nama_relasi)
  • citus_table_size plus:

    • ukuran indeks

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;

Keluaran

┌───────────────┬───────┐
│     name      │ size  │
├───────────────┼───────┤
│ github_users  │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘

Langkah berikutnya