postgres--目录System Catalogs

news2024/9/20 21:46:52

pg_statistic

关于数据库系统(特别是PostgreSQL数据库)中的统计信息目录pg_statistic的说明。

  1. 统计数据存储pg_statistic目录存储有关数据库内容的统计数据。这些数据是由ANALYZE命令创建的,并随后被查询优化器使用。需要注意的是,即使这些统计数据是最新的,它们本质上也是近似的。

  2. 统计数据条目:通常情况下,对于每个已分析的表列,会有一个条目,其中stainherit属性设置为false。如果表有继承的子表或分区,则还会创建一个stainherit属性设置为true的条目。这个true的条目代表了继承树中列的统计数据,即你使用SELECT column FROM table*查询时看到的数据。而stainherit = false的行则代表了SELECT column FROM ONLY table查询的结果。

  3. 索引表达式的统计数据pg_statistic还存储有关索引表达式值的统计数据。这些表达式被描述得就像它们是实际的数据列一样;特别是,starelid引用了索引。然而,对于普通的非表达式索引列,不会创建条目,因为这会与底层表列的条目重复。目前,索引表达式的条目总是将stainherit设置为false

  4. 统计数据的多样性:由于不同类型的数据可能需要不同类型的统计信息,pg_statistic被设计为不对它存储的统计信息类型做太多假设。只有非常通用的统计信息(如空值情况)在pg_statistic中有专门的列。其他所有内容都存储在“slots”中,这些是相关联的列组,其内容由其中一个slot列中的代码编号标识。

  5. 安全性pg_statistic不应该对公众可读,因为即使是关于表内容的统计信息也可能被认为是敏感的。例如,一个工资列的最小值和最大值可能非常有趣。pg_statspg_statistic的一个公开可读视图,它只暴露当前用户可读的那些表的信息。

这段话主要解释了pg_statistic目录的功能、用途以及它如何存储和管理数据库的统计信息。

这段内容描述的是 PostgreSQL 数据库中的 pg_statistic 表的列及其数据类型和描述。下面是对这些列的解释:

  1. starelid (oid): 这列存储的是表或索引的 OID(对象标识符),它指向 pg_class 表中的 OID。这表示所描述的列属于哪个表或索引。

  2. staattnum (int2): 这列存储的是被描述列的列号,它指向 pg_attribute 表中的 attnum。这表示在所属表中,该列的顺序编号。

  3. stainherit (bool): 这是一个布尔值,如果为真,则表示统计信息包括子表中的值,而不仅仅是指定关系中的值。

  4. stanullfrac (float4): 这列存储的是该列中空值(null)条目的比例。

  5. stawidth (int4): 这列存储的是该列非空(nonnull)条目的平均存储宽度,单位是字节。

  6. stadistinct (float4): 这列存储的是该列中不同非空数据值的数量。如果值大于零,则表示实际的不同值数量。如果值小于零,则表示与表中行数的乘数的负数;例如,如果一个列大约80%的值是非空的,并且每个非空值平均出现两次,那么可以用 stadistinct = -0.4 来表示。值为零意味着不同值的数量未知。

  7. stakindN (int2): 这列是一个代码数字,表示存储在 pg_statistic 行的第 N 个“槽”中的统计信息类型。

  8. staopN (oid): 这列存储的是用于派生第 N 个“槽”中存储的统计信息的运算符,它指向 pg_operator 表中的 OID。例如,直方图槽会显示定义数据排序顺序的 < 运算符。如果统计信息类型不需要运算符,则为零。

  9. stacollN (oid): 这列存储的是用于派生第 N 个“槽”中存储的统计信息的校对规则,它指向 pg_collation 表中的 OID。例如,对于可校对的列的直方图槽,会显示定义数据排序顺序的校对规则。对于不可校对的数据,值为零。

  10. stanumbersN (float4[]): 这列存储的是第 N 个“槽”的适当类型的数值统计信息,或者如果槽类型不涉及数值,则为 null。

  11. stavaluesN (anyarray): 这列存储的是第 N 个“槽”的适当类型的列数据值,或者如果槽类型不存储任何数据值,则为 null。每个数组的元素值实际上是特定列的数据类型,或者是相关类型,例如数组的元素类型,因此无法比 anyarray 更具体地定义这些列的类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(c++)线程的创建、互斥锁的使用、线程数组

1.创建10个线程&#xff0c;每个线程都做10万次全局变量num1操作&#xff0c;然后输出这个全局变量&#xff0c;预想结果应该是100万。但是线程可能在cpu分配的一个时间片中做不完10万次1的操作&#xff0c;这时候cpu会被其他线程抢占&#xff0c;由于num1不是一个原子操作&…

MySQL的缓存策略

目录 一、MySQL 缓存方案用来干什么 二、提升MySQL访问性能的方式 1、读写分离&#xff08;MySQL的主从复制&#xff09; 2、连接池 3、异步连接 三、缓存方案是怎么解决的 1、缓存与MySQL一致性状态分析 2、制定热点数据的读写策略 四、缓存方案问题的解决方法 1、缓…

Python画笔案例-055 绘制七彩浪花

1、绘制七彩浪花 通过 python 的turtle 库绘制 七彩浪花&#xff0c;如下图&#xff1a; 2、实现代码 绘制七彩浪花&#xff0c;以下为实现代码&#xff1a; """七彩浪花.py """ import turtlecs [red,orange,yellow,green,cyan,blue,magenta]…

网络流之最大流(EK 模板)

EK的时间复杂度是O( )。 EK 算法 和 dinic 算法的区别是 &#xff1a;EK是通过 bfs 找到一条增广流&#xff0c;然后累加&#xff0c;循环此步骤直到 bfs 找不到增广流&#xff1b;而 dinic 算法 是通过 bfs 分层找到一条增广流&#xff0c;然后通过 dfs 跑完 当前分层图中所…

Redis基本命令详解

1. 基本命令 命令不区分大小写&#xff0c;而key是区分大小写的 # select 数据库间的切换 数据库共计16个 127.0.0.1:6379> select 1# dbsize 返回当前数据库的 key 的数量 127.0.0.1:6379[1]> dbsize# keys * 查看数据库所有的key 127.0.0.1:6379[1]> keys *# fl…

[Spring]Spring MVC 请求和响应及用到的注解

文章目录 一. Maven二. SpringBoot三. Spring MVC四. MVC注解1. RequestMapping2. RequestParam3. PathVariable4. RequestPart5. CookieValue6. SessionAttribute7. RequestHeader8. RestController9. ResponseBody 五. 请求六. 响应 一. Maven Maven是⼀个项⽬管理⼯具。基于…

qwen2.5 vllm推理;openai function call调用中文离线agents使用

参考: https://qwenlm.github.io/zh/blog/qwen2.5/ https://qwen.readthedocs.io/zh-cn/latest/framework/function_call.html#vllm 安装: pip install -U vllm -i https://pypi.tuna.tsinghua.edu.cn/simplevllm-0.6.1.post2 运行:</

预测合理交易目标:中断形态趋势分析

日常交易时&#xff0c;我们除了通过判断一些重要指标来预测趋势走向之外&#xff0c;观察趋势的形态变化也是我们技术分析中很重要的分析方式。而识别并理解这些形态可以为交易者提供进出场的关键信号。今天我们就来说说其中一种形态——中断形态&#xff01; 中继形态在市场…

使用 Python 高分解决 reCAPTCHA v3 的指南

reCAPTCHA v3 是自动化系统面临的最具挑战性的障碍之一。随着越来越多的网站实施高级 CAPTCHA 系统来抵御机器人&#xff0c;在 reCAPTCHA v3 中获得高分对于成功的自动化至关重要。本指南将引导您了解有效的策略和 Python 技术&#xff0c;以高分解决 reCAPTCHA v3&#xff0c…

10000字长文,深度解读!人工智能AI 产品经理与传统产品经理工作到底有什么不同?

一、AI 产品经理的定义及职责范围 AI 产品经理是直接应用或间接涉及了 AI 技术&#xff0c;进而完成相关 AI 产品的设计、研发、推广、产品生命周期管理等工作的产品经理。具体来说&#xff0c;狭义 AI 产品经理直接应用了语义、语音、计算机视觉和机器学习这 4 个领域的 AI 技…

机器学习之非监督学习(四)K-means 聚类算法

机器学习之非监督学习&#xff08;一&#xff09;K-means 聚类算法 0. 文章传送1.非监督学习定义2.非监督学习分类2.1 聚类 Clustering2.2 异常检测 Anomaly Detection 3.K-means聚类算法 K-means clustering案例引入算法步骤算法优化成本函数初始化方法K的选择 代码实现 4.案例…

Unity教程(十六)敌人攻击状态的实现

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

C++STL的Stack的使用:STL栈和队列的使用介绍、leecode---最小栈、nowcoder---栈的压入、弹出序列等的介绍

文章目录 前言一、STL栈和队列的使用二、leetcode---最小栈三、nowcoder---栈的压入、弹出序列总结 前言 CSTL的Stack的使用&#xff1a;STL栈和队列的使用介绍、leecode—最小栈、nowcoder—栈的压入、弹出序列等的介绍 一、STL栈和队列的使用 #include <iostream> #in…

PCL KD树的使用

目录 一、概述 1.1原理 1.1.1 数据拆分过程 1.1.2 树的构建示例 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1KD树构建与查询&#xff1a; 2.1.2 k近邻搜索 2.1.3半径搜索 2.2完整代码 三、实现效果 3.1处理后点云 3.2数据显示 PCL点云算法汇总及实战…

Jboss Administration Console弱⼝令

漏洞描述 Administration Console管理⻚⾯存在弱⼝令&#xff0c;admin:admin&#xff0c;登陆后台上传war包 , getshell 影响版本 全版本 环境搭建 因为这⾥⽤的环境是CVE-2017-12149的靶机 cd vulhub-master/jboss/CVE-2017-12149 docker-compose up -d 密码⽂件 /j…

【SA8155P】AIS Camera相关内容的简单介绍

高通车载相机模块(AIS,Automotive lmage System)是专门针对车载系统特性而设计的一套车载视觉架构,可用于AVM、RVC、DMS等常见车载视频应用开发。车载Camera系统的图像大部分是给自动驾驶等使用,更多考虑的是远距离传输、多摄像头图像处理等场景。 本文仅对AIS Camera相关…

MySQL的登陆错误:ERROR 1049 (42000): Unknown database ‘root‘

MySQL的登陆错误&#xff1a;ERROR 1049 (42000): Unknown database ‘root’ 安装MySQL的时候&#xff0c;到网上查的命令行登陆MySQL的方法都是mysql -u root -p password mysql -r root -p 123456但是奇怪的是这条命令我输进去死活都不对&#xff0c;它都会要求再输入一遍…

21、Tomato

难度 低(个人认为中) 目标 root权限 一个flag 使用VMware启动 kali 192.168.152.56 靶机 192.168.152.66 信息收集 端口信息收集 可以看到有个ftp服务&#xff0c;2211实际是ssh协议端口&#xff0c;80、8888是一个web服务 web测试 80端口显示一个tomato 查看源码给了一些…

从0开始学ARM

1. ARM模式和寄存器 1.1 ARM处理器工作模式 Cortex系列之前的ARM处理器工作模式一共有7种。 1.1.1 工作模式 Cortex系列的ARM处理器工作模式有8种&#xff0c;多了1个monitor模式&#xff0c;如下图所示&#xff1a; ARM之所以设计出这么多种模式出来&#xff0c;就是为了…

三菱变频器RS-485 端子的接线和构成

RS-485 端子排列 RS-485 端子接线方法 RS-485 的计算机1台、变频器1台时 RS-485 的计算机1台、变频器n台(多台)时 通讯运行的初始设定 1、为使变频器和计算机进行 RS-485 通讯&#xff0c;进行必要的设定。 2、通讯分为使用变频器的PU接口的通讯和使用RS-485端子的通讯。 3、…