获取 Postgres 数据库中每个表的行数

2024-05-12

获取数据库中所有表的行数的最有效方法是什么?

我正在使用 Postgres 数据库。

结果示例

table_name     row_count
------------   -------------
some_table     1,234
foobar         5,678
another_table  32
... 

如果您想要特定的表行数那么它会起作用

SELECT reltuples FROM pg_class WHERE oid = 'my_schema.my_table'::regclass;

reltuples 是 pg_class 表中的一列,它保存有关表中“行数”的数据。这只是规划器使用的估计。

如果您想要所有表及其行数的列表,那么它将完成这项工作

SELECT
  pgClass.relname   AS tableName,
  pgClass.reltuples AS rowCount
FROM
  pg_class pgClass
INNER JOIN
  pg_namespace pgNamespace ON (pgNamespace.oid = pgClass.relnamespace)
WHERE
  pgNamespace.nspname NOT IN ('pg_catalog', 'information_schema') AND
  pgClass.relkind='r'

“为什么“SELECT count(*) FROM bigtable;”很慢?” :count(*) http://wiki.postgresql.org/wiki/FAQ#Why_is_.22SELECT_count.28.2A.29_FROM_bigtable.3B.22_slow.3F

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Postgres 数据库中每个表的行数 的相关文章

随机推荐