↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 锁百科 / 表级锁

表级锁 · SRX

SHARE ROW EXCLUSIVE

共享行排他锁

与 ROW EXCLUSIVE、SHARE UPDATE EXCLUSIVE、SHARE、SHARE ROW EXCLUSIVE、EXCLUSIVE 和 ACCESS EXCLUSIVE 锁模式冲突。这种模式用于保护表不受并发数据更改的影响,并且是自排他的,因此同一时刻只能有一个会话持有它。 由 CREATE TRIGGER 和某些形式的 ALTER TABLE 获取。

当前稳定版

中文定义与说明

与 ROW EXCLUSIVE、SHARE UPDATE EXCLUSIVE、SHARE、SHARE ROW EXCLUSIVE、EXCLUSIVE 和 ACCESS EXCLUSIVE 锁模式冲突。这种模式用于保护表不受并发数据更改的影响,并且是自排他的,因此同一时刻只能有一个会话持有它。

由 CREATE TRIGGER 和某些形式的 ALTER TABLE 获取。

冲突关系

以下只比较不同事务在同一个表上持有的锁。

纵轴是请求的锁,横轴是另一事务已经持有的锁;只比较同一对象。

取得此模式的命令

SQL 命令取得条件与说明
CREATE TRIGGER在触发器所属表上加锁。
LOCK TABLE … IN SHARE ROW EXCLUSIVE MODE显式请求此表级模式;省略 IN … MODE 时默认为 ACCESS EXCLUSIVE。
ALTER TABLE … ENABLE / DISABLE TRIGGER启停触发器,包括 USER / ALL / REPLICA / ALWAYS 相应形式。
ALTER TABLE … ADD FOREIGN KEY [NOT VALID](引用表)引用方与被引用方都取得 SHARE ROW EXCLUSIVE;NOT VALID 只省略已有数据的初始验证,不免除这个锁。
ALTER TABLE … ADD FOREIGN KEY [NOT VALID](被引用表)与引用方同样取得 SHARE ROW EXCLUSIVE,不能把被引用表记为只有 ACCESS SHARE。

链接指向本站 PostgreSQL 18 的 SQL 命令百科。命令也可能取得其他锁,查看完整命令关联表。

其他锁模式

数据来源

当前查看 PostgreSQL 18,采样构建 REL_18_STABLE · 753057e340da。冲突关系与命令行为按该版本的文档和源码整理。命令链接进入本站 SQL 命令百科,并保留所选版本。

本站显式锁定手册 · 官方手册

查看采样源码与构建依据

资料核验日期:2026-09-27。