Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取所有表的PostgreSQL统计信息?_Postgresql_Statistics - Fatal编程技术网

获取所有表的PostgreSQL统计信息?

获取所有表的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函数,可以聚合除临时

我已经看到,PostgreSQL根据每个表的OID(如插入的数量)有几个函数。 我要找的是某种SELECT查询,或者可以对每个表的所有内容进行汇总的查询。 可能是这样的:

选择SUMpg_stat_get_db_tuples_returned从pg_类中选择oid; 或者类似的。在此,我非常感谢您的帮助。

您的意思是:

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_的课堂上,这太傻了;这是一个可笑的迂回,如一匹没有名字的马所示