我正在寻找一种方法来近似分区表中的行数。由于数据的大小,我想避免使用count(*)
。我试着用这个:
SELECT reltuples FROM pg_class WHERE relname = 'my_table_name';
但它总是返回
zero
。我想是因为那张桌子被分割了。是否有方法使用
pg_class/pg_inherits
来获取所有分区中的行数?任何想法都非常感谢!
最佳答案
简单地说,如果子分区遵循命名方案:
SELECT schemaname,relname,n_live_tup
FROM pg_stat_user_tables
where relname like 'my_table_%'
ORDER BY relname DESC ;