PG提供了丰富的统计信息,但是没有将这些统计信息使用的简单查询搞成存储过程,需要我们自己根据需要灵活的去挖掘,最近做了数据库监控,用了一些简单的东西,于是想往深了挖一下。

首先看看系统表和视图,他们都有哪些作用:

系统表

pg_aggregate 聚集函数
pg_am 索引访问方法
pg_amop 访问方法操作符
pg_amproc 访问方法支持过程
pg_attrdef 字段缺省值
pg_attribute 表的列(”属性”,”字段”)
pg_authid 认证标识符(角色)
pg_auth_members 认证标识符成员关系
pg_autovacuum 每个关系一个的自动清理配置参数
pg_cast 转换(数据类型转换)
pg_class 表,索引,序列,视图(”关系”)
pg_constraint 检查约束,唯一约束,主键约束,外键约束
pg_conversion 编码转换信息
pg_database 本集群内的数据库
pg_depend 数据库对象之间的依赖性
pg_description 数据库对象的描述或注释
pg_index 附加的索引信息
pg_inherits 表继承层次
pg_language 用于写函数的语言
pg_largeobject 大对象
pg_listener 异步通知
pg_namespace 模式
pg_opclass 索引访问方法操作符表
pg_operator 操作符
pg_pltemplate 过程语言使用的模板数据
pg_proc 函数和过程
pg_rewrite 查询重写规则
pg_shdepend 在共享对象上的依赖性
pg_statistic 优化器统计
pg_tablespace 这个数据库集群里面的表空间
pg_trigger 触发器
pg_type 数据类型 系统视图 pg_group 数据库用户的组  
pg_indexes 索引  --根据pg_index、pg_class、pg_namespace、pg_tablespace来查具体索引的schemaname、tablename、indexname、tablespace、indexdef信息
pg_locks 当前持有的锁  
pg_prepared_xacts 目前准备好的事务  
pg_roles 数据库角色  
pg_rules 规则  
pg_settings 参数设置  
pg_shadow 数据库用户  
pg_stats 规划器统计  
pg_tables 表  
pg_user 数据库用户  
pg_views 视图

还有很多系统视图用于统计数据库状态信息的: 

pg_stat_activity : 查看当前活动会话状态的视图
pg_stat_bgwriter : 只有一行数据,显示集群内后台写的相关情况,记录一些checkpoint ,buffer 的信息
pg_stat_database
: 显示集群内数据库信息的视图
pg_stat_all_tables : 记录当前数据库中所有表的统计信息,包括(toast表)
pg_stat_all_indexes : 记录当前数据库中所有的索引的使用情况
pg_stat_sys_indexes : 记录当前数据库中所有系统表的索引的使用情况
pg_stat_user_indexes : 记录当前数据库中所有用户表的索引的使用情况
pg_stat_database_conflicts : 每个数据库一行数据,记录数据库里面冲突信息,记录由于冲突而导致被取消掉是查询语句的次数
pg_stat_replication :记录复制的相关信息,包括复制用的用户名,复制类型,同步状态 等
pg_stat_sys_tables : 与 pg_stat_all_tables相似,不过只是记录了系统表的统计信息
pg_stat_user_tables : 与 pg_stat_all_tables相似,不过只是记录了用户自己建的表统计信息
pg_stat_xact_all_tables : 与 pg_stat_all_tables相似,记录所有表在当前会话中的统计信息,仅统计当前会话发生在表上的统计统计信息
pg_stat_xact_sys_tables : 与 pg_stat_sys_tables相似,记录系统表表在当前会话中的统计信息,仅统计当前会话发生在表上的统计统计信息
pg_stat_xact_user_tables : 与 pg_stat_user_tables相似,记录系统表表在当前会话中的统计信息,仅统计当前会话发生在表上的统计统计信息
pg_statio_all_tables : 记录当前数据库中所有表的IO信息,包括(toast表),包括堆栈块的读取数,堆栈块命中的次数,索引块读取数,索引块命中的次数等
pg_statio_sys_tables : 与 pg_statio_all_tables相似,只是记录系统表IO的信息
pg_statio_user_tables : 与 pg_statio_all_tables相似,只是记录用户表IO的信息
pg_statio_all_indexes : 记录当前数据库中所有索引的IO信息,其中数值idx_blks_read 跟 idx_blks_hit 与 pg_statio_all_tables 中索引的读取跟命中是一致的
pg_statio_sys_indexes : 与 pg_statio_all_indexes 类似,只是记录系统表的索引的IO信息
pg_statio_user_indexes : 与 pg_statio_user_indexes 类似,只是记录用户表的索引的IO信息
pg_statio_all_sequences : 记录当前库中所有序列的读取数跟命中数
pg_statio_sys_sequences : 与 pg_statio_all_sequences 类似,只是展示系统建立序列的IO信息而已
pg_statio_user_sequences :与 pg_statio_all_sequences 类似,只是展示用户建立序列的IO信息而已
pg_stat_user_functions : 记录用户创建的函数的统计信息,只有开启了 track_functions = all ,才会有数据
pg_stat_xact_user_functions : 显示当前会话中所使用的函数的统计信息
pg_stat_archiver: 数据库归档信息

PostgreSQL统计信息挖掘的更多相关文章

  1. PostgreSQL统计信息索引页

    磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 本页记录所有本人所写的PostgreSQL的统计信息相关文摘和文章的链接: pg_stats:   --------- ...

  2. PostgreSQL 欺骗优化器之扩展统计信息

    一.什么是扩展统计 扩展统计对象, 追踪指定表.外部表或物化视图的数据. 目前支持的种类: 启用n-distinct统计的 ndistinct. 启用功能依赖性统计的dependencies. 启用最 ...

  3. DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考

    之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题.后来找到了自己认为比较合理的解决方案,分享给大家.也希望能和大家交流,擦出更多的火花. 论坛核心领域 ...

  4. impala系列: 同步Hive元数据和收集统计信息

    ---====================-- Impala 获取hive 的 metadata ---====================Impala 通常和Hive共用同一个metadat ...

  5. MySQL统计信息以及执行计划预估方式初探

    数据库中的统计信息在不同(精确)程度上描述了表中数据的分布情况,执行计划通过统计信息获取符合查询条件的数据大小(行数),来指导执行计划的生成.在以Oracle和SQLServer为代表的商业数据库,和 ...

  6. 由pg_xlogdump统计信息想到的问题

    最近深入理解了Checkpoint的相关逻辑,再来看WAL日志的一些设置,又有了新的收获. 1.回顾pg_xlogdump出来的wal日志信息: 2.wal中FPI的占比很高问题分析: 3.重申ful ...

  7. 使用analyze命令统计信息

    ① 搜集和删除索引.表和簇的统计信息② 验证表.索引和簇的结构③ 鉴定表和簇和行迁移和行链接针对analyze的搜集和删除统计信息功能而言Oracle推荐使用DBMS_STATS包来代替analyze ...

  8. PG 更新统计信息

    http://blog.chinaunix.net/uid-24774106-id-3802225.html 一.vacuum的效果: 1.1释放,再利用 更新/删除的行所占据的磁盘空间. 第一点的原 ...

  9. spring boot:使用mybatis访问多个mysql数据源/查看Hikari连接池的统计信息(spring boot 2.3.1)

    一,为什么要访问多个mysql数据源? 实际的生产环境中,我们的数据并不会总放在一个数据库, 例如:业务数据库:存放了用户/商品/订单 统计数据库:按年.月.日的针对用户.商品.订单的统计表 因为统计 ...

随机推荐

  1. kali安装机场v2ray客户端

    为了方便查找资料,之前安装的ssr在kali上面,感觉速度不怎么快,相比windows和android上慢很多,所以打算在kali上面装个机场试试,看官方介绍说机场比ssr速度更快,下面是安装步骤: ...

  2. 20145324 《Java程序设计》第7周学习总结

    20145324 <Java程序设计>第7周学习总结 教材学习内容总结 第十一章 1.静态sleep()用于流程暂停指定时间,单位是毫秒 2.一个Thread被标记为Daemon线程,在所 ...

  3. 20145329 《JAVA程序设计》实验三总结

    实验日期:2016.4.12 实验时间:15:30~17:30 实验序号:实验三 实验名称: 敏捷开发与XP实践 实验目的与要求: XP基础 XP核心实践 相关工具 实验内容 1.使用git托管代码 ...

  4. 20144303 《Java程序设计》第四周学习总结

    20144303 <Java程序设计>第四周学习总结 教材学习内容总结 继承(extends): 1.作用:提高代码复用性 让类与类产生了关系,有了这个关系才有了多态的特性 2.注意:千万 ...

  5. 前端初级技能No.1 [切图]

    “切图”是指通过测量设计稿,从设计稿中提取图片等方式为页面开发提供支持的过程. 整个“切图”过程主要分为以下五个主要步骤: 分析设计图: 测量元素: 提取图片: 保存图片: 图片优化与合并: 1.分析 ...

  6. RedHat7.4最小化安装yum源不可用问题解决

    本次安装的RedHat7.4是安装在Oracle VM VirtualBox5.2.8虚拟机上面的,本文不对安装虚拟机步骤做详细说明. 工具准备: Oracle VM VirtualBox5.2.8 ...

  7. js梳理

    js引用类型 Object Function Array其他皆为基本类型,这和很多高级语言不一样,需要注意!!!! typeof对应基本类型来说更实用---- typeof undefined     ...

  8. C++中的指针和数组

    最近看C++编程思想,看到第十三章动态内存管理的时候把自己给绕进去了,主要是在数据和指针这块弄混了.现在把找到的一些资料总结如下: 1. 数组是数组,指针是指针,两者并不等价: 2.数组在作为左值的时 ...

  9. Python基础笔记系列十二:requests模块的简单应用

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...

  10. js 冒泡型事件