Determinar o tamanho da tabela e da relação no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (com tecnologia da extensão da base de dados Citus para PostgreSQL)
A forma habitual de encontrar tamanhos de tabela no PostgreSQL, pg_total_relation_size
, sub-comunica drasticamente o tamanho das tabelas distribuídas no Azure Cosmos DB para PostgreSQL.
Tudo o que esta função faz num cluster é revelar o tamanho das tabelas no nó de coordenação. Na realidade, os dados em tabelas distribuídas residem nos nós de trabalho (em partições horizontais) e não no coordenador. Uma verdadeira medida do tamanho da tabela distribuída é obtida como uma soma de tamanhos de partições horizontais. O Azure Cosmos DB para PostgreSQL fornece funções auxiliares para consultar estas informações.
Função | Devoluções |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Estas funções são análogas a três das funções de tamanho de objeto PostgreSQL padrão, exceto se não conseguirem ligar a um nó. Erro.
Exemplo
Eis 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;
Resultado:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Passos seguintes
- Saiba como dimensionar um cluster para armazenar mais dados.
- Distinguir tipos de tabela num cluster.
- Veja outras consultas de diagnóstico úteis.