Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Azure Cosmos DB для PostgreSQL (на базе расширения Citus для баз данных для PostgreSQL)
Обычный способ определения размеров таблиц в PostgreSQL, pg_total_relation_size
существенно занижает размер распределённых таблиц в Azure Cosmos DB для PostgreSQL.
Эта функция в кластере просто определяет размер таблиц на узле координатора. В действительности данные в распределенных таблицах находятся в рабочих узлах (в сегментах), а не в координаторе. Действительная величина распределенной таблицы определяется путем сложения размеров сегментов. Azure Cosmos DB для PostgreSQL предоставляет вспомогательные функции для запроса этих сведений.
Функция | Возвраты |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Эти функции аналогичны трем стандартным функциям размера объекта PostgreSQL, за исключением случаев, когда они не могут подключиться к узлу и выдают ошибку.
Пример
Вывести список размеров всех распределенных таблиц можно следующим образом:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Выходные данные:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Следующие шаги
- Узнайте, как масштабировать кластер для хранения дополнительных данных.
- Различает типы таблиц в кластере.
- См. описание других полезных диагностических запросов.