确定 Azure Cosmos DB for PostgreSQL 中的表和关系大小
适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)
在 PostgreSQL 中查找表大小的常用方法 pg_total_relation_size
大大低报了 Azure Cosmos DB for PostgreSQL 上分布式表的大小。
此函数在群集上所做的就是显示协调器节点上表的大小。 实际上,分布式表中的数据位于工作器节点(在分片中)而不是协调器节点上。 实际获得的分布式表大小的度量值是分片大小的总和。 Azure Cosmos DB for 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 │
└───────────────┴───────┘