PostgresQL 锁

本文介绍了PostgreSQL的锁机制,包括表级锁(访问共享锁、访问排它锁、共享锁、排它锁等)和行级锁,并讨论了死锁情况及提供示例。通过对锁的理解,有助于优化并发访问时的数据库性能。
摘要由CSDN通过智能技术生成

postgresql的锁机制主要有三种,表级锁、行级锁、建议性锁

表级锁和行级锁有显示的和隐式的,建议性锁都是显示的。显示的需要用户显示的查询来获取,隐式的则是由标准sql获取。

页级共享/排除锁,用于控制对共享缓存池里表页的访问,在一行数据被读取或更新后会立即被释放

1. 表级锁

大多数表级锁都可以通过sql命令来获取,也可以通过锁命令获取

access share 访问共享锁

只和access exclusive冲突,select命令可在引用的表上获得该锁,一般只有在读表时获得该锁。

access exclusive 访问排它锁

和所有的锁模式冲突,alter table, drop table, truncate, reindex, cluster, vacuum full命令可在引用的表上获得,此锁模式是Lock命令的默认模式。

share 共享锁

和ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE ROW EXCLUSIVE, EXCLUSIVE, and ACCESS EXCLUSIVE 冲突, create index命令在引用的表上获得该锁。

exclusive 排它锁

和ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, and ACCESS EXCLUSIVE冲突,当事物获得该锁时,只允许读操作并行,它必须显示的获取,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值