云数据库 GaussDB-LOCK:注意事项

时间:2023-11-01 16:22:03

注意事项

  • LOCK TABLE只能在一个事务块的内部有用,因为锁在事务结束时就会被释放。出现在任意事务块外面的LOCK TABLE都会报错。
  • 如果没有声明锁模式,缺省为最严格的模式ACCESS EXCLUSIVE。
  • LOCK TABLE ... IN ACCESS SHARE MODE需要在目标表上有SELECT权限。所有其他形式的LOCK需要UPDATE和/或DELETE权限。
  • 没有UNLOCK TABLE命令,锁总是在事务结束时释放。
  • LOCK TABLE只处理表级的锁,因此那些带“ROW”字样的锁模式都是有歧义的。这些模式名称通常可理解为用户试图在一个被锁定的表中获取行级的锁。同样,ROW EXCLUSIVE模式也是一个可共享的表级锁。注意,只要是涉及到LOCK TABLE ,所有锁模式都有相同的语意,区别仅在于规则中锁与锁之间是否冲突,规则请参见表1
  • 如果没有打开xc_maintenance_mode参数,那么对系统表申请ACCESS EXCLUSIVE级别锁将报错。
support.huaweicloud.com/centralized-devg-v2-opengauss/devg_03_0640.html