PostgreSQL 14新插件pg_surgery
作者:金涛
PostgreSQL新增extension pg_surgery, 提供了两个函数:
- heap_force_freeze - 强制要冻结tuple
- heap_force_kill - 强制删除tuple
jintao@jintao-ThinkPad-L490:~/personal/code/postgresql-master$ psql
psql (14devel)
Type 'help' for help.
mydb=# select version();version
---------------------------------------------------------------------------------------------------------PostgreSQL 14devel on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 64-bit
(1 row)
mydb=# create extension pg_surgery ;
CREATE EXTENSION
mydb=#
mydb=# \dx+ pg_surgeryObjects in extension 'pg_surgery'Object description
--------------------------------------------function heap_force_freeze(regclass,tid[])function heap_force_kill(regclass,tid[])
(2 rows)
mydb=# create table test_surgery(id int);
CREATE TABLE
mydb=#
mydb=# insert into test_surgery select generate_series(1,5);
INSERT 0 5
mydb=#
mydb=# select xmin, ctid, id from test_surgery ;xmin | ctid | id
------+-------+----836 | (0,1) | 1836 | (0,2) | 2836 | (0,3) | 3836 | (0,4) | 4836 | (0,5) | 5
(5 rows)
mydb=# select heap_force_freeze('test_surgery'::regclass, array[ '(0,1)' ]::tid[]); /*freeze单个ctid*/heap_force_freeze
-------------------
(1 row)
mydb=# select xmin, ctid, id from test_surgery ;xmin | ctid | id
------+-------+----2 | (0,1) | 1836 | (0,2) | 2836 | (0,3) | 3836 | (0,4) | 4836 | (0,5) | 5
(5 rows)
mydb=# select heap_force_freeze('test_surgery'::regclass, array[ '(0,2)', '(0,5)' ]::tid[]); /*freeze单个ctid*/heap_force_freeze
-------------------
(1 row)
mydb=# select xmin, ctid, id from test_surgery ;xmin | ctid | id
------+-------+----2 | (0,1) | 12 | (0,2) | 2836 | (0,3) | 3836 | (0,4) | 42 | (0,5) | 5
(5 rows)
mydb=#
mydb=# select heap_force_kill('test_surgery'::regclass, array[ '(0,1)' ]::tid[]); /*删除单个ctid tuple */heap_force_kill
-----------------
(1 row)
mydb=# select xmin, ctid, id from test_surgery ;xmin | ctid | id
------+-------+----2 | (0,2) | 2836 | (0,3) | 3836 | (0,4) | 42 | (0,5) | 5
(4 rows)
mydb=# select heap_force_kill('test_surgery'::regclass, array[ '(0,3)', '(0,5)' ]::tid[]); /*删除多个ctid tuple*/heap_force_kill
-----------------
(1 row)
mydb=# select xmin, ctid, id from test_surgery ;xmin | ctid | id
------+-------+----2 | (0,2) | 2836 | (0,4) | 4
(2 rows)
mydb=#
了解更多PostgreSQL热点资讯、新闻动态、精彩活动,请访问中国PostgreSQL官方网站:www.postgresqlchina.com
解决更多PostgreSQL相关知识、技术、工作问题,请访问中国PostgreSQL官方问答社区:www.pgfans.cn
下载更多PostgreSQL相关资料、工具、插件问题,请访问中国PostgreSQL官方下载网站:www.postgreshub.cn
PostgreSQL 14新插件pg_surgery相关推荐
- 探索PostgreSQL 14新特性--SEARCH和CYCLE
探索PostgreSQL 14新特性--SEARCH和CYCLE PG14的SEARCH和CYCLE新功能大大简化了递归查询的方式,本文给出一些基于旅行计划的示例. 创建数据库 本文示例基于任何PG1 ...
- PostgreSQL 14 版本发布,快来看看有哪些新特性!
文章目录 性能增强 数据类型和 SQL 管理功能 复制和恢复 安全增强 更多特性 大家好!我是只谈技术不剪发的 Tony 老师. PostgreSQL 全球开发组于 2021-05-20 发布了 Po ...
- PostgreSQL 14中TOAST的新压缩算法LZ4,它有多快?
对于列压缩选项,PostgreSQL 14提供了新的压缩方法LZ4.与TOAST中现有的PGLZ压缩方法相比,LZ4压缩更快.本文介绍如何使用整个选项,并和其他压缩算法进行性能比较. 背景 PG中,页 ...
- PostgreSQL 14及更高版本改进
PostgreSQL 14及更高版本 本文谈谈PG14中的关键特性及社区中正在谈论PG15及更高版本的内容. PG14的主要特性 逻辑复制的改进 PG14中对逻辑复制进行了几项增强: 1) 正在进行中 ...
- 基于QGIS初探PostgreSQL的PostGIS插件,包括YUM和编译安装PostGIS
写在前面:本文介绍 QGIS,只是为了展示怎么使用 PostGIS,因作者本人追求的是 PostgreSQL,所以本文的重点还是 PostGIS 这个 PostgreSQL 的插件,QGIS软件只做简 ...
- PostgreSQL全局临时表插件pgtt的使用
墨墨导读:本文主要介绍PostgreSQL全局临时表插件pgtt的使用. https://github.com/darold/pgtt 前言 PostgreSQL目前到最新12版本只支持本地临时表不支 ...
- 极客日报:阿里旗下App接入微信支付;马斯克成世界首富;PostgreSQL 14 RC 1发布
一分钟速览新闻点! 阿里回应App接入微信支付 抖音起诉知乎名誉侵权 小米上诉"小米穿戴"图形商标被驳回 拼多多.美团已支持众多主流支付渠道 清华AI学生华智冰首次露正脸唱歌 快手 ...
- 【Postgresql】pg_show_plans插件
介绍 pg_show_plans是一个显示当前运行的所有SQL语句执行计划的模块.它在plan结束位置,截获并存储当前plan tree,从而使其他会话可以打印存储plan tree.目前此模块支持从 ...
- PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM? 最近,一些PG使用者反馈他们切换到PG14后,遇到了一些连接错误. "FATAL: password authe ...
最新文章
- Apache下PHP的几种工作方式
- 腾讯AI Lab的研究方向
- SpringCloud Consul自定义服务注册
- POJ 2676 Sudoku【DancingLinks,数独】
- iconfont矢量 在已经有的情况下新增图标
- Elasticsearch-head插件的安装与使用
- 麦克纳姆轮全向移动机器人速度空间分析
- cygwin--简单备忘
- Ubuntu安装划词翻译软件Goldendict 单词翻译 句子翻译
- 关于ASCII码和机内码
- 操作系统原理实验——实验一 Linux基本操作
- 什么是业务模式、商业模式、经营模式、盈利模式和发展模式?
- 如何量化炒股中的上升下降趋势及k线形态_如何量化炒股之代码思维
- 【自制小工具】快速批量查询IP归属地(自动去重、按国内外汇总,并智能识别出错误IP)
- Android对未签名的apk进行签名
- 淘宝天猫商家运营,宝贝标题如何突出卖点,标题编写方法小技巧
- 零基础转行IT学习什么好?
- 如何再UOS/Ubuntu中创使用ufw设置防火墙
- STM32 USB HID Mouse And Keyboard (guide)
- 函数表达式与命名函数区别