为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:win10
【CPU】:
【问题描述】不同用户如何授权使用同一个模式中的表?
我在数据备份还原的需求中, 有一个步骤是在还原数据的需要锁定表, 根据官方文档使用
LOCK TABLE "scehma_name"."table_name" IN EXCLUSIVE MODE;
语句锁定, 但是只能锁定当前用户,而不能锁定用户的当前会话, 导致当前用户的其他并发会话还是能往表中插入数据, 而我的备份还原和正常业务操作使用的是同一个用户, 这就导致我无法使用锁表语句锁定.
然后我想通过创建一个临时用户,并授权此 SCHEMA
给他使用, 在新用户的操作中锁定表来实现数据的还原, 但是没有找到 SCHEMA
授权给多个用户的方式, 既然 LOCK TABLE
是锁定用户的, 那么一个 SCHEMA
应该是可以有多个用户的, 不然 LOCK TABLE
有何意义?
如果手动上EXCLUSIVE锁,那么该表在其他会话是不能被修改的,您可以试试,其次如果需要多个用户访问同一个模式下的表,需要对这些用户进行自主访问控制授权,但是一个schema只能被一个用户拥有,即只能有一个属主用户。