`

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;

 

分享到:
评论

相关推荐

    PostgreSQL Like模糊查询优化方案

    在SQL中,LIKE '%xxx%'这样的查询意味着我们需要查找包含特定字符串"xxx"的所有记录,不论该字符串出现在字段的哪个位置。由于%"xxx"%前后都有通配符,传统的B树索引无法直接帮助查询,因为它们是为顺序查找设计的,...

    PostgreSQL分区表(partitioning)应用实例详解

    官方给出的指导意见是:当表的大小超过了数据库服务器的物理内存大小则应当使用分区表,接下来结合一个例子具体记录一下创建分区表的详细过程。 创建分区表 首先看一下需求,现在有一张日志表,现在需要按表中的操作...

    许中清-PostgreSQL表分区实践

    比如,对于日志记录这种通常只向插入最新数据,而很少需要查询旧数据的场景,可以利用分区表只对新数据进行操作,而无需对整个表进行全表扫描,这极大地提升了性能。 除了手动分区,PostgreSQL还支持分区继承,例如...

    postgresql表分区

    从输出的结果中可以看出,尽管我们的目的是查询 `uid` 小于 100 的记录数量,但实际上 PostgreSQL 对所有分区进行了扫描。这可能会导致不必要的性能损耗。 ##### 3.2 启用约束排除 为了提高查询效率,可以启用...

    PostgreSQL 进阶 - 插入客户记录和订单记录SQL

    在PostgreSQL数据库管理系统中,插入数据是日常操作的一部分,尤其对于存储客户记录和订单记录这样的业务数据至关重要。本文将深入探讨如何使用SQL语句在PostgreSQL中高效地插入客户记录和订单记录,以及相关的最佳...

    postgresql 常用命令大全

    - **功能**: 列出所有系统表和索引。 - **示例**: `\dS` 显示所有系统表和索引。 **9. \dt** - **功能**: 只列出非系统表。 - **示例**: `\dt` 显示所有非系统表。 **10. \dT** - **功能**: 列出所有数据类型...

    PostgreSQL15的新特性完整介绍

    PostgreSQL 15 在并行查询处理方面进行了显著的优化,提高了多核处理器环境下的查询执行效率。这些改进不仅限于数据读取阶段,在排序和聚合操作上也得到了加强,使得在执行复杂查询时能够更好地利用硬件资源。 ### ...

    postgresql速查表

    **PostgreSQL 快速参考指南** **一、基础概念** ...以上只是 PostgreSQL 部分基础知识的速查概述,实际使用中还有更多高级特性,如分区表、物化视图、递归查询、临时表等,需要根据具体需求深入学习和探索。

    关于PostGreSQL中的存储过程

    例如,以下是一个简单的函数,用于查询一个表中的所有记录: ```sql CREATE FUNCTION ListCompany(Geometry) RETURNS SETOF Google_Company AS $$ SELECT * FROM google_company WHERE geometry~= $1; $$ LANGUAGE ...

    PostgreSQL博客1

    1. **WAL日志(Write-Ahead Log)**:记录所有改变数据库状态的操作,用于恢复和持久化数据。 2. **表空间**:可以有多个,包含数据库的物理文件,如表、索引等。 3. **控制文件**:存储数据库集群的元数据信息。 *...

    postgresql杂志第0期中文版 最大化postgresql性能

    - **启用慢查询日志**:记录运行时间较长的查询,便于分析和优化。 - **监控系统资源**:通过pg_stat视图监控数据库状态,如缓冲命中率、锁等待等,及时发现问题。 ### 6. 版本更新 - **版本升级**:如描述中提到...

    PostgresQL8.3中文文档

    1. **并行查询**: PostgreSQL 8.3开始支持并行查询,尤其是对于聚合和扫描操作,可以显著提高大数据集的处理速度。 2. **分区表**: 分区表是将大表逻辑上分成多个部分,每个部分称为一个分区。这使得管理和查询...

    postgresql10数据库生成文档工具

    PostgreSQL 10是其的一个重要版本,引入了许多新特性,如并行查询、分区表等。 2. **数据库文档**:数据库文档是记录数据库结构、逻辑关系、业务规则和操作流程的重要文件,对于团队协作、代码审查、系统维护及故障...

    PostgreSQL表的继承和分区

    在PostgreSQL中,表的继承是一个非常有用且强大的特性,它可以使得一个表(子表)继承另一个表(父表)的所有列和约束。这为数据库设计提供了一种灵活的方式来组织相似类型的数据,特别是当需要对一组共享相同属性的...

    Laravel开发-laravel-postgresql-inherit

    删除父表记录时,所有子表记录也会被删除。如果只希望删除子表记录,应避免使用`delete()`方法,而是手动处理。更新时,确保正确地更新所有相关的子表。 通过以上步骤,你可以在Laravel项目中有效地利用PostgreSQL...

    Postgresql编程教程(自学).docx_postgresql_

    - **视图**:创建和使用视图,实现数据的虚拟表,方便查询和保护底层表结构。 - **索引**:了解索引的作用和类型(B树、哈希、GiST、GIN等),以及如何创建和管理索引。 ### 5. PostgreSQL高级特性 - **存储过程**...

    PostgreSQL1

    PostgreSQL的SQL语法遵循SQL标准,并扩展了诸如窗口函数、递归查询、物化视图、表继承等高级特性。这些功能使得PostgreSQL在数据分析和复杂的业务逻辑处理中具有强大优势。 安全性是另一个重要方面,PostgreSQL提供...

Global site tag (gtag.js) - Google Analytics