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

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

文档 / 锁百科 / 表级锁

表级锁 · SUE

SHARE UPDATE EXCLUSIVE

共享更新排他锁

用于维护及部分结构变更;允许普通读写,但同一表上不能同时执行另一项持有此模式的操作。

当前稳定版

冲突关系

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

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

取得此模式的命令

SQL 命令取得条件与说明
VACUUM(不含 FULL)常规清理持有此锁;尝试截断表尾空页时还可能短暂取得 ACCESS EXCLUSIVE。
ANALYZE在被分析的目标表上取得此模式。
CREATE INDEX CONCURRENTLY作用于被索引的表;多个事务阶段构建并等待旧事务,不表示无等待。
CREATE STATISTICS在被收集统计信息的表上加锁。
COMMENT ON(关系对象)COMMENT 在所注释对象上取得此模式;不同对象上的同名锁不会互相冲突。
DROP INDEX CONCURRENTLY在所属表上取得此模式,分阶段等待并移除索引;不在表上持有普通 DROP INDEX 的 ACCESS EXCLUSIVE。
REINDEX … CONCURRENTLYPostgreSQL 12 起;会话级 SHARE UPDATE EXCLUSIVE 锁覆盖被重建的索引及所属表,分多个事务完成构建、验证、切换与清理。
LOCK TABLE … IN SHARE UPDATE EXCLUSIVE MODE显式请求此表级模式;省略 IN … MODE 时默认为 ACCESS EXCLUSIVE。
ALTER TABLE … ALTER COLUMN … SET STATISTICS修改列统计目标。
ALTER TABLE … ALTER COLUMN … SET (n_distinct = …)修改列统计选项;RESET 同样适用。
ALTER TABLE … CLUSTER ON设置后续聚簇使用的索引;此命令本身不重写表。
ALTER TABLE … SET WITHOUT CLUSTER清除聚簇索引标记。
ALTER TABLE … VALIDATE CONSTRAINT在当前表上验证约束;外键验证还需要访问被引用表。
ALTER TABLE … ATTACH PARTITION(父表)父表锁级别逐版本解析;待挂载分区另取 ACCESS EXCLUSIVE。PostgreSQL 11 起如有默认分区,也需锁定默认分区。
ALTER TABLE … DETACH PARTITION … FINALIZE(父表)完成中断的并发分离;被分离分区另取 ACCESS EXCLUSIVE。
ALTER TABLE … SET / RESET (fillfactor = …)表存储参数按参数定义选择锁;fillfactor 可用 SHARE UPDATE EXCLUSIVE。
ALTER TABLE … SET / RESET (autovacuum_* = …)表的自动清理存储参数使用 SHARE UPDATE EXCLUSIVE。
ALTER TABLE … SET / RESET (toast.autovacuum_* = …)这里给出 TOAST 自动清理参数;不存在笼统的 SET TOAST 子命令,其他参数按具体定义选择锁。
ALTER TABLE … DETACH PARTITION … CONCURRENTLY(父表)PostgreSQL 14 起,分两个事务进行;父表使用 SHARE UPDATE EXCLUSIVE,等待使用分区的事务结束后进入完成阶段。
ALTER TABLE … DETACH PARTITION … CONCURRENTLY(分区,第一阶段)第一阶段父表与分区使用 SHARE UPDATE EXCLUSIVE;提交并等待后再升级分区锁。
ALTER INDEX … RENAME作用于被重命名的索引本身。
ALTER TABLE … INHERIT(父表)在新指定的继承父表上取得 SHARE UPDATE EXCLUSIVE;被修改的子表另取 ACCESS EXCLUSIVE。

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

其他锁模式

数据来源

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

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

查看采样源码与构建依据

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