Pgsql 查询数据库内各表的数据数量
时间: 2024-09-18 18:08:23 浏览: 59
PGSQL统计一个数据库所有数据库空字段的函数
在PostgreSQL (简称PGSQL) 中,如果你想查询数据库内所有表的数据行数,可以使用系统信息视图`information_schema.tables` 和 `COUNT(*)` 函数。以下是一个基本的例子:
```sql
SELECT
table_name,
pg_total_relation_size(table_name) AS total_size,
(SELECT COUNT(*)
FROM information_schema.columns
WHERE table_name = sch.name AND column_default IS NULL) AS row_count
FROM
information_schema.tables
JOIN
pg_catalog.pg_namespace sch ON sch.oid = tables.schema_name
WHERE
sch.nspname != 'pg_catalog' AND sch.nspname != 'information_schema';
```
这个查询会返回每个表的名称、总大小以及每张表的行数(假设没有NULL值的默认列)。注意,`pg_total_relation_size()`函数用于计算表占用的空间,并非精确的行数。
如果你只想得到每个表的确切行数,可以对每个表单独运行`COUNT(*)`,但这可能会比较耗时,特别是对于大型数据库。
阅读全文