Bagikan melalui


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)
  • Ukuran data aktual dalam tabel(“garpu utama ").
  • Relasi bisa berupa nama tabel atau indeks.
citus_table_size(relation_name)
citus_total_relation_size(relation_name)
  • 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;

Output:

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

Langkah berikutnya