postgres查看数据库数据大于10万条的表
时间: 2024-09-06 20:06:10 浏览: 42
在PostgreSQL中,你可以通过查询系统表来获取数据量大于10万条的表。以下是一个SQL查询示例,用于查找所有数据行数超过10万条的表:
```sql
SELECT
nspname AS schemaname,
relname AS tablename,
reltuples AS estimated_row_count
FROM
pg_class c
JOIN
pg_namespace n ON n.oid = c.relnamespace
WHERE
relkind = 'r' AND nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY
reltuples DESC;
```
这个查询做了以下几件事情:
1. 从`pg_class`系统表中选择类(relation)的元数据。`pg_class`存储了关于数据库中每个表和索引的信息。
2. 与`pg_namespace`系统表进行连接查询,获取表的schema名称。
3. 使用`WHERE`子句过滤出类型为`'r'`的表,排除`pg_catalog`和`information_schema`这两个系统schema中的表。
4. 使用`ORDER BY`子句按估计行数`reltuples`降序排列,以找出行数最多的表。
请注意,`reltuples`是系统为表中行数的一个估计值,这个估计值在表数据频繁变动时可能不是完全准确的。如果需要更精确的行数,你可以使用`COUNT(*)`来查询。
阅读全文