我有一个包含大量表格的庞大PostgreSQL数据库。出于性能原因,我想学习所有空表而不计算每个表(有些表有几百万行)。
答案 0 :(得分:2)
此查询将为您提供近似结果,但不包括计算表行。
SELECT relname FROM pg_class JOIN pg_namespace ON (pg_class.relnamespace = pg_namespace.oid) WHERE relpages = 0 AND pg_namespace.nspname = 'public';
这在VACUUM ANALYZE
之后效果最佳。
答案 1 :(得分:1)
根据http://wiki.postgresql.org/wiki/Slow_Counting,一种解决方案是首先通过
找到带有'reltuples'的表格select relname from pg_class where reltuples < X
然后只测试那些空虚。
答案 2 :(得分:0)
所以你想看表结构,对吧?试试pg admin
你可以打开表并查看所有结构,例如数据类型,索引,函数等