PostgreSQL锁有多少?


数据库锁只有两种类型:共享锁和排他锁?

那你就大错特错了。

Postgres中有许多类型的锁,这里是一个小工具,可以显示postgres中的所有锁,以及每个冲突是如何发生的:

该工具显示 postgres 中的所有命令和锁。如果您选择一个命令,它会列出它获取的锁、与其冲突的命令以及允许与它同时运行而不发生冲突的命令。如果您选择一个锁,它会列出获取该锁的命令以及其他冲突的锁。

  1. 访问共享锁(表)
  2. 行共享锁(表)
  3. 行排他锁(表)
  4. ShareUpdateExclusiveLock(表)
  5. 共享锁(表)
  6. ShareRowExclusiveLock(表)
  7. 排它锁(表)
  8. 访问排他锁(表)
  9. FORKEYSHARE(行)
  10. 福共享(行)
  11. FORNOKEYUPDATE(行)
  12. 更新(行)