Determinar o tamanho da tabela no Azure Cosmos DB for PostgreSQL

APLICA-SE A: Azure Cosmos DB for PostgreSQL (da plataforma da extensão de dados Citus para PostgreSQL)

A maneira habitual de encontrar tamanhos de tabelas no PostgreSQL, pg_total_relation_size, deixa drasticamente de relatar o tamanho das tabelas distribuídas no Azure Cosmos DB for PostgreSQL. Tudo o que essa função faz em um cluster é revelar o tamanho das tabelas no nó coordenador. Na realidade, os dados das tabelas distribuídas residem nos nós de trabalho (em fragmentos) e não no coordenador. Uma medida verdadeira de tamanho de tabelas distribuídas é obtida como uma soma de tamanhos de fragmentos. O Azure Cosmos DB for PostgreSQL fornece funções auxiliares para consultar essas informações.

Função Retornos
citus_relation_size(relation_name)
  • Tamanho dos dados reais da tabela ("bifurcação principal").
  • Uma relação pode ser o nome de uma tabela ou um índice.
citus_table_size(relation_name)
citus_total_relation_size(relation_name)
  • citus_table_size plus:

    • tamanho dos índices

Essas funções são análogas a três das funções de tamanho de objeto PostgreSQL padrão, exceto se não conseguirem se conectar a um nó, quando retornarão 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óximas etapas