我可以通过以下查询轻松找到_%_jobs
形式的所有表格:
select * from pg_tables where tablename like '_%_jobs'
我想过滤此列表,以便只有超过200,000行的表。
我试过了:
select * from pg_tables where tablename like '_%_jobs' having count(*) > 200000
但这会导致错误:
错误:列“pg_tables.schemaname”必须出现在GROUP BY子句中或用于聚合函数
我该如何做到这一点?
答案 0 :(得分:3)
尝试
SELECT relname, reltuples from pg_class where relname like '_%_jobs'
此处报告的数字与实际数字之间可能存在轻微差异。从reltuples上的手册部分:
表格中的行数。这只是一个估计使用的估计 规划师。它由VACUUM,ANALYZE和一些DDL命令更新 作为CREATE INDEX。