【0258】pg内核支持的所有 inval messages 类型

1. inval messages类型

pg内核中,共支持几种类型的共享无效消息:

  • (1)使特定catcache中的特定元组无效
  • (2)使给定系统目录中的所有catcache项无效
  • (3)使特定逻辑关系表的relcache条目无效
  • (4)使所有relcache项无效
  • (5)使特定物理关系表的smgr缓存项无效
  • (6)使给定数据库的映射关系表映射无效
  • (7)使可能用于扫描给定关系表的任何保存的快照失效

如果需要,可以添加更多类型。消息类型由消息结构的第一个“int8”字段标识。0或正值表示一个特定的catcache无效消息 (也用作catcache ID字段)。负值标识其他消息类型,如下面的代码所示。

Catcache inval事件最初是通过检测系统目录中的元组插入、更新和删除来驱动的(请参阅CacheInvalidateHeapTuple)。更新可以生成两个inval事件,一个用于旧元组,另一个用于新元组,但如果元组的哈希键不变,则会减少为一个事件。请注意,inval事件本身实际上并没有说明元组是被插入还是被删除。此外,由于我们只传输哈希密钥,因此由于哈希密钥的偶然匹配,存在不必要的无效风险。

请注意,有些系统目录上有多个缓存(具有不同的索引)。在这样的目录中检测到元组无效时,
必须为其每个缓存生成单独的catcache inval消息,因为哈希键通常是不同的。

Catcache、relcache和快照失效是事务性的,因此在提交时被发送到其他后端。在生成后端内部,
它们也在CommandCounterIncrement中进行处理,以便同一事务中的后续命令可以看到新状态。
生成后端还必须在中止时处理它们,以清除从不再有效的条目加载的任何缓存状态。

SMGR和关系映射表失效是非事务性的:它们在底层文件发生更改时立即发送。

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

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

相关文章

一道sql注入的ctf题目致使用phpmyadmin上传 webshell 拿后台权限

以下均为靶场测试环境渗透&#xff0c;非正式环境。 遇见登录框&#xff0c;直接万能密码’or(11)or’/1 直接登录成功并返回结果: 既然存在sql注入&#xff0c;那就用sqlmap跑一下吧&#xff1a; 输出所有的数据库&#xff1a; sqlmap -u <目标URL> --dbs 要输出数据库…

代码随想录算法训练营第四十二天 | 416. 分割等和子集

题目链接&#xff1a;416. 分割等和子集 文章讲解&#xff1a;代码随想录 416. 分割等和子集讲解 视频讲解&#xff1a;动态规划之背包问题&#xff0c;这个包能装满吗&#xff1f;| LeetCode&#xff1a;416.分割等和子集 思路和解法 题目&#xff1a; 给你一个 只包含正整…

Android Button background 失效

问题 Android Button background 失效 详细问题 笔者开发Android项目&#xff0c;期望按照 android:background中所要求的颜色展示。 实际显示按照Android 默认颜色展示 解决方案 将xml的Button 组件修改为<android.widget.Button> 即将代码 <Buttonandroid:l…

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

随着云原生、人工智能逐渐成为各行各业的创新生产力工具。可以预见&#xff0c;我们即将进入全新的智能化时代。随着数据成为新型生产要素&#xff0c;云和 AI 正走向深度融合。云原生通过提供大规模多元算力的高效供给&#xff0c;可观测成为业务创新的核心基础设施&#xff0…

CSS伸缩盒模型

CSS伸缩盒模型 伸缩盒模型是CSS中的一种布局手段&#xff0c;可以使元素具有弹性&#xff0c;让元素可以跟随页面大小的改变而改变。 1. 伸缩容器 给元素设置display:flex 或 display:inline-flex &#xff0c;就是伸缩容器。 2. 主轴与侧轴 主轴&#xff1a; 伸缩项目沿着…

python coding with ChatGPT 打卡第17天| 二叉树:找树左下角的值、路径总和

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树&#xff1a;翻转…

SpringBoot+随机盐值+双重MD5实现加密登录

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、salt…

阿里云游戏服务器收费价格表,一年和1个月报价

阿里云游戏服务器租用价格表&#xff1a;4核16G服务器26元1个月、146元半年&#xff0c;游戏专业服务器8核32G配置90元一个月、271元3个月&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价&#xff1a; 阿里云游戏服务器租用价格表 阿…

Linux系统调试课:硬件断点

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢在linux内核编程中,经常会遇到由于内存被篡改,例如 buffer overflow,野指针,write after free等。查找分析此类问题非常的麻烦。 一、什么是硬件断点 硬件断点,是Linux内核中是一种被ptrace和内核内调试器使用调试…

Codeforces Round 923 (Div. 3) A - E

CF1927A Make it White 代码如下&#xff1a; //朴素版 #include<bits/stdc.h> using namespace std; using ll long long; const ll N 200005; #define inf 0x7fffffff void solve() {ll n;cin>>n;string a;cin>>a;ll x-1,y0;a a;for(ll i1;i<n;i){i…

【数据分享】1929-2023年全球站点的逐月平均降水量(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;说到常用的降水数据&#xff0c;最详细的降水数据是具体到气象监测站点的降水数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全…

为什么要用建造者模式

因为如果不使用建造者模式&#xff0c;使用一个类时&#xff0c;类中可能会创建很多重载的构造方法。 当使用了建造者模式&#xff0c;使用一个类时&#xff0c;可以选择性地给对象的属性赋值&#xff0c;避免类中可能会创建很多重载的构造方法。 以下是最简单的例子&#xff…

Spring Security 4.X(XML文件配置session超时,单点登录-session并发控制,退出/logout)

目录 前言 一、Java web设置session超时 二、session并发控制 三、退出/logout设置 前言 本文是继SSM项目集成Spring Security 4.X版本&#xff08;使用spring-security.xml 配置文件方式&#xff09;_spring security4.x 会话管理配置文件版-CSDN博客https://blog.csdn.ne…

6.Swift字面量

Swift 字面量 在 Swift 中&#xff0c;字面量是指直接指定数值、字符串、布尔值等常量的值的表示方式。使用字面量可以直接在代码中指定常量的值&#xff0c;而不需要通过变量或常量来存储。Swift 支持多种类型的字面量&#xff0c;包括整数、浮点数、布尔值、字符串、数组、字…

作业2024/2/6

第五章 静态成员与友元 一、填空题 1、一个类的头文件如下所示&#xff0c;num初始化值为5&#xff0c;程序产生对象T&#xff0c;且修改num为10&#xff0c;并使用show()函数输出num的值10。 #include <iostream.h> class Test { private: static int num; publi…

Oracle的权限

通过用户登录plsql工具后&#xff0c;如果在创建视图(或其他对象)时&#xff0c;没有指明视图或对象的用户&#xff0c;该视图或对象将直接创建在当前登录用户下。 GRANT SELECT ON user2.table1 TO user1;//将用户2的表1的select权限给用户1 GRANT ALL ON user2.table1 TO u…

DAY5 作业

1.TCP三次握手 2.TCP四次挥手 3.TCP和UDP的区别 相同点&#xff1a;都属于传输层的协议 不同点&#xff1a; TCP&#xff1a;1&#xff09;提供面向连接的&#xff0c;可靠的数据传输服务&#xff1b; 2&#xff09;传输过程中&#xff0c;数据无误&#xff0c;数据无丢失、数…

龙芯+RT-Thread+LVGL实战笔记(34)——密码锁初步

【写在前面】春节期间,本系列教程会不定期更新,毕竟这是一年当中最适合放下工作的时期。祝各位朋友新年大吉,身体健康。来年继续关注笔者和CSDN平台,收获更多的知识和技能。按照惯例,还是在开篇做一些声明: 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等…

【C++第二阶段】空指针访问成员函数常成员函数常成员属性

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 空指针访问成员函数常成员函数&常成员属性 空指针访问成员函数 类对象类型的空指针可以访问成员函数&#xff0c;但是不能够访问带有成员属性的成员函数。…

大数据调用链监控平台技术原理

一、AOP技术总结 二、监控逻辑动态织入原理 三、JVM动态织入流程 四、调用链监控平台技术简要总结 &#xff08;一&#xff09;、单服务的无感知自动日志埋点 jvm层面的字节码织入埋点&#xff0c;javaagent方式启动。 &#xff08;二&#xff09;、多服务调用链串联 trace…