首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吐司在MVCC Postgres中的行为

吐司在MVCC Postgres中的行为
EN

Stack Overflow用户
提问于 2020-08-27 18:58:15
回答 1查看 134关注 0票数 0

你好,我正在阅读Postgres关于吐司的文档,但我没有发现任何关于吐司在MVCC方面是如何工作的东西。根据postgres公司的文档

只有当要存储在表中的行值大于TOAST_TUPLE_THRESHOLD字节(通常为2 kB)时,才会触发to管理代码。

据我所知,如果字段足够大且具有可变长度,那么postgres不会直接将该字段存储在元组块中,而是存储对包含此字段的不同表(文件)的引用,其中包含chunk_id和sequence_id。但是,MVCC呢?假设我有一张桌子user(data jsonb , id int PK,name varchar(255))。通常,当行被更新时,新行将被创建为与当前事务相等的xmin。假设jsonb字段位于to表中,并且该字段未更新,postgres将为已更新的行创建新的烤面包实例,还是新行将具有对现有吐司值的新引用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 20:26:35

请参阅这里

在更新操作期间,未更改字段的值通常保留为-原样;因此,如果不改变出线值,则行的更新将不会带来任何转帐成本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63622558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档