AWS Redshift 锁定写入而不是读取

Dri*_*ico 5 amazon-redshift

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

执行此操作时:

BEGIN;
LOCK TABLE my_table;
<very long commands>
Run Code Online (Sandbox Code Playgroud)

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

我想要实现的目标是在我写作时阻止其他人写作,而不阻止他们阅读。

Rah*_*pta 1

将 LOCK 锁定到事务块内的表将不允许其他用户/会话读取或写入该表。
\n如果您希望您的交易是只读的,您可以使用以下语法。

\n\n
BEGIN [READ ONLY];\n<very long commands>\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我\xe2\x80\x99做出了错误的假设,请发表评论,我\xe2\x80\x99将重新调整我的答案。

\n

  • 我想要实现的是“在我写的时候阻止别人写”而不阻止他们阅读。 (3认同)