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

2024-02-07 10:20

本文主要是介绍【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和关系映射表失效是非事务性的:它们在底层文件发生更改时立即发送。

这篇关于【0258】pg内核支持的所有 inval messages 类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/687399

相关文章

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Python如何查看数据的类型

《Python如何查看数据的类型》:本文主要介绍Python如何查看数据的类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python查看数据的类型1. 使用 type()2. 使用 isinstance()3. 检查对象的 __class__ 属性4.

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod