amazon-redshift – AWS Redshift LOCK WRITE而不是READ

如何在允许其他连接执行SELECT操作的事务中对表执行LOCK WRITE?

执行此操作时:

BEGIN;
LOCK TABLE my_table;
<very long commands>

其他连接无法执行SELECT COUNT(*)FROM my_table等SELECT操作;

我想要达到的目的是在我写作的同时防止他人写作,而不会妨碍他们阅读.

最佳答案 将LOCK放入事务块内的表,将不允许其他用户/会话读取或写入表.

如果您希望您的交易只读,您可以使用以下语法.

BEGIN [READ ONLY];
<very long commands>

如果我做了一个错误的假设请评论,我将重新调整我的答案.

点赞