PostgreSQL查询出所有表的记录数

项目所有用的数据库从SQLServer 换成PostgreSQL,项目中很多sql 是针对SQLServer 写的,所以不得不从新写SQL,项目中有一个功能是要统计出数据库的情况,包括所有表的记录数。对数据库不太熟悉,找了半天,大致还是要从系统表pg_class上入手。

 

有关pg_class字段介绍:https://wizardforcel.gitbooks.io/postgresql-doc/content/714.html

 

查询出pg_class表中的reltuples就是表的记录数:

select relname as TABLE_NAME, reltuples as rowCounts from pg_class where relkind = 'r' order by rowCounts desc

 

这样查出来的有一个问题,就是会把系统表的数据也查出来,这显然不是我想要的。怎么去掉系统表。

 

可以查询Schema下的每张表的记录数

select relname as TABLE_NAME, reltuples as rowCounts from pg_class where relkind = 'r' and relnamespace = (select oid from pg_namespace where nspname='public') order by rowCounts desc;

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值