postgresql技术大讲堂 -凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 514011
  • 博文数量: 464
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4701
  • 用 户 组: 普通用户
  • 注册时间: 2018-07-05 13:59
个人简介

ocp考试资料群:569933648 验证码:ocp ocp 12c 19c考试题库解析与资料群:钉钉群号:35277291

文章分类

全部博文(464)

文章存档

2023年(16)

2021年(151)

2020年(37)

2019年(222)

2018年(38)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: mysql/postgresql

2023-05-19 16:37:50


postgresql从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对pg基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱pg、学习pg的同学们有帮助,欢迎持续关注cuug pg技术大讲堂。

part 16:元组(行)结构与dml操作

内容1:postgresql行结构

内容2:dml操作方式

内容3:块空间清理



· 元组(行)结构

t_xmin保存插入此元组的事务的txid。

t_xmax保存删除或更新此元组的事务的txid。如果此元组未被删除或更新,则t_xmax设置为0,这意味着无效。




行头信息

· 块中的行结构




工具介绍

· pageinspect工具

postgresql提供了一个扩展pageinspect,它是一个贡献模块,用来显示数据库页面的内容。

该pageinspect模块提供的功能允许我们从底层检查数据库页面的内容,这对于调试非常有用。所有这些功能只能由超级用户使用

· 使用方法:

create extension pageinspect;select lp as tuple, t_xmin, t_xmax, t_field3 as t_cid, t_ctid from heap_page_items(get_raw_page('tbl', 0));


dml操作

· insertion



· deletion



· update

执行{banned}中国第一个更新命令时,通过将txid 100设置为t_xmax,逻辑上删除tuple_1,然后插入tuple_2。然后,将元组1的t_ctid重写为指向元组2。

当执行第二个update命令时,与{banned}中国第一个update命令一样,tuple_2在逻辑上被删除,tuple_3被插入。



块空间清理

· vacuum操作

块中被删除的行的是逻辑上删除,物理上还保留在块中,如果长时间不清理,会造成垃圾空间膨胀,设想,如果一个块中有50%垃圾,那么就浪费50%的存储空间,如果读到内存,也会浪费50%的内存空间,所以需要定期的清理,而清理的工作由autovacuum来操作,或者我们也可以手动操作。

pg_freespacemap插件可以很好的监测块中空间的使用情况,可当作full vacuum操作的参考信息。




以上就是part 16 - postgresql 元组(行)结构与dml操作 的内容,欢迎进群一起探讨交流,往期视频,联系cuug客服


阅读(331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图