greenplum数据库-锁

在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两 种基本的锁类型来对数据库的事务进行并发控制。

greenplum数据库,基本两种锁:

  • RowExclusiveLock: 行级排他锁,不允许读取和修改。
  • AccessShareLock:共享锁,允许读取,不允许修改。

1.GP查看锁

复制代码
-- 通过表名,获取该表是否被锁,然后按照lorpid字段进行升序排序
select * from gp_toolkit.gp_locks_on_relation t where t.lorrelname = '#{table_name}' order by lorpid;

多个事务同时在数据库中运行时,查看GP库所有表锁

sql 复制代码
SELECT 
l.pid,
a.datname AS database,
c.relname AS table,
l.mode AS lock_mode,
l.granted AS granted,
a.usename AS username,
a.query AS query
FROM 
pg_locks l
JOIN 
pg_stat_activity a ON l.pid = a.pid
JOIN 
pg_class c ON l.relation = c.oid

2.解锁

复制代码
-- 按照lorpid,自上而下,进行删除进程,将排他锁之前的共享锁停止后,排他锁可正常运行。
select pg_cancel_backend('#{pid}')
/* 
select pg_terminate_backend(#{pid}) 
*/

参考文章:

https://www.jianshu.com/p/763eb183a291

相关推荐
阿巴~阿巴~12 分钟前
告别命令行:Navicat可视化操作数据库(附安装使用教程)
服务器·数据库·mysql·navicat·可视化操作数据库
zhangyifang_00916 分钟前
MySQL中实现“小计”与“合计”
数据库·mysql
一 乐18 分钟前
酒店客房预订|基于springboot + vue酒店客房预订系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
计算机毕设指导618 分钟前
基于Spring Boot的防诈骗管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
a程序小傲26 分钟前
饿了吗Java面试被问:Redis的持久化策略对比(RDBVS AOF)
java·redis·面试
TG:@yunlaoda360 云老大32 分钟前
华为云国际站代理商跨境容灾是如何实现的?
服务器·数据库·华为云
我家领养了个白胖胖33 分钟前
MCP模型上下文协议 Model Context Protocol & 百度地图MCP开发
java·后端·ai编程
Coder_Boy_35 分钟前
基于DDD+Spring Boot 3.2+LangChain4j构建企业级智能客服系统
java·人工智能·spring boot·后端
黄俊懿43 分钟前
【深入理解SpringCloud微服务】Spring-Security作用与原理解析
java·后端·安全·spring·spring cloud·微服务·架构师
兴趣互联44 分钟前
PostgresSQL数据库如何使用navicat创建分区表
数据库·postgresql