获取所有表的PostgreSQL统计信息?
我已经看到,PostgreSQL根据每个表的OID(如插入的数量)有几个函数。 我要找的是某种SELECT查询,或者可以对每个表的所有内容进行汇总的查询。 可能是这样的: 选择SUMpg_stat_get_db_tuples_returned从pg_类中选择oid; 或者类似的。在此,我非常感谢您的帮助。您的意思是:获取所有表的PostgreSQL统计信息?,postgresql,statistics,Postgresql,Statistics,我已经看到,PostgreSQL根据每个表的OID(如插入的数量)有几个函数。 我要找的是某种SELECT查询,或者可以对每个表的所有内容进行汇总的查询。 可能是这样的: 选择SUMpg_stat_get_db_tuples_returned从pg_类中选择oid; 或者类似的。在此,我非常感谢您的帮助。您的意思是: SELECT SUM(pg_stat_get_db_tuples_returned(oid)) from pg_class; 类似的情况是,通过选择stats函数,可以聚合除临时
SELECT SUM(pg_stat_get_db_tuples_returned(oid))
from pg_class;
类似的情况是,通过选择stats函数,可以聚合除临时表和系统目录表之外的所有表上的stats函数:
SELECT
sum(pg_stat_get_db_tuples_returned(c.oid))
FROM pg_catalog.pg_class c
INNER JOIN pg_namespace n ON (c.relnamespace = n.oid)
WHERE NOT (n.nspname LIKE ANY(ARRAY['pg_temp%','pg_catalog','information_schema']));
请注意,pg_toast模式包含在其中,因为我假设您希望您的统计数据包含任何toast边表。如果您没有,请将pg_toast%添加到排除项中
编辑:我正在使用构造:
(quote_ident(n.nspname)||'.'||quote_ident(c.relname))::regclass
把桌子弄旧,但在pg_的课堂上,这太傻了;这是一个可笑的迂回,如一匹没有名字的马所示