表级锁 · SRX
SHARE ROW EXCLUSIVE
共享行排他锁
阻止普通数据修改,并与自身冲突;常见于创建触发器与增加外键。
冲突关系
以下只比较不同事务在同一个表上持有的锁。
与这些模式兼容 2
纵轴是请求的锁,横轴是另一事务已经持有的锁;只比较同一对象。
取得此模式的命令
| 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-26。