Em um banco de dados PostgreSQL 12.7 'baunilha' , geralmente executo a seguinte consulta para saber o número estimado de linhas em tabelas com mais de 100 milhões de linhas:
----------------------------------------------------------
-- Return the estimated number of rows for the given table
----------------------------------------------------------
SELECT reltuples::bigint AS estimate_number_of_rows
FROM pg_class
WHERE oid = to_regclass('name_of_some_big_table');
Esse tipo de consulta não funciona para uma hipertabela distribuída em nossa instalação do TimescaleDB de vários nós .
Verifiquei a referência da API do TimescaleDB , mas não consegui encontrar o que estou procurando.
Existe uma consulta tão direta para retornar rapidamente o número estimado de linhas em uma hipertabela distribuída?
TimescaleDB fornece
approximate_row_count
a função, que é descrita na documentação aqui . A precisão depende de quando ANALYZE ou VACUUM foi executado da última vez.Para sua tabela, a consulta será: