Determinar o tamanho da tabela e da relação no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
A maneira usual de encontrar tamanhos de tabela no PostgreSQL, pg_total_relation_size
, subnotifica drasticamente o tamanho das tabelas distribuídas no Azure Cosmos DB para PostgreSQL.
Tudo o que essa função faz em um cluster é revelar o tamanho das tabelas no nó coordenador. Na realidade, os dados em tabelas distribuídas vivem nos nós de trabalho (em fragmentos), não no coordenador. Uma medida verdadeira do tamanho da tabela distribuída é obtida como uma soma de tamanhos de estilhaços. O Azure Cosmos DB para PostgreSQL fornece funções auxiliares para consultar essas informações.
Function | Devoluções |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Essas funções são análogas a três das funções padrão de tamanho de objeto do PostgreSQL, exceto se não puderem se conectar a um nó, elas cometem erros.
Exemplo
Veja como listar os tamanhos de todas as tabelas distribuídas:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Saída:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Próximos passos
- Aprenda a dimensionar um cluster para armazenar mais dados.
- Distinguir tipos de tabela em um cluster.
- Veja outras consultas de diagnóstico úteis.