Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de tablo ve ilişki boyutunu belirleme

Önemli

PostgreSQL için Azure Cosmos DB artık yeni projeler için desteklenmemektedir. Bu hizmeti yeni projeler için kullanmayın. Bunun yerine, şu iki hizmetlerden birini kullanın:

PostgreSQL'de tablo boyutlarını bulmanın olağan yolu, `pg_total_relation_size`, PostgreSQL için Azure Cosmos DB'deki dağıtılmış tabloların boyutunu önemli ölçüde eksik raporlar. Bu işlevin bir kümede yaptığı tek şey, koordinatör düğümündeki tabloların boyutunu ortaya çıkarmaktır. Gerçekte, dağıtılmış tablolardaki veriler koordinatörde değil çalışan düğümlerde (parçalarda) bulunur. Dağıtılmış tablo boyutunun gerçek ölçüsü, parça boyutlarının toplamı olarak elde edilir. PostgreSQL için Azure Cosmos DB, bu bilgileri sorgulamak için yardımcı işlevler sağlar.

İşlev İadeler
citus_relation_size(relation_name)
  • Tablodaki gerçek verilerin boyutu ("ana dal").
  • İlişki, bir tablonun veya endeksin adı olabilir.
citus_table_size(relation_name)
  • citus_relation_size ek olarak:

    • boş alan haritası boyutu
    • görünürlük haritası boyutu
citus_total_relation_size(relation_name)
  • citus_table_size artı:

    • dizinlerin boyutu

Bu işlevler, standart PostgreSQL nesne boyutu işlevlerinin üçüne benzer, ancak bir düğüme bağlanamıyorlarsa hatayla sonuçlanırlar.

Örnek

Tüm dağıtılmış tabloların boyutlarını şu şekilde listeleyin:

SELECT logicalrelid AS name,
       pg_size_pretty(citus_table_size(logicalrelid)) AS size
  FROM pg_dist_partition;

Çıktı:

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

Sonraki adımlar