Locking

RedShift 中的顯式鎖

  • January 19, 2022

我是 AWS Redshift 的新手,我想知道如何實施我的案例。

我有一個 Redshift 表,它有很多插入/選擇。在某些情況下,我需要從該表中刪除一些數據。我不希望我的刪除影響其他寫入和讀取。

有人可以建議在 Redshift 中實現我的案例的最佳鎖定模式是什麼。

我不想以掛鎖和一些鎖掛在我的應用程序中而告終。

我試過沒有鎖,我觀察到以下違規行為:

Serializable isolation violation on table - 156300, transactions forming the cycle are: 6416378, 6416913 (pid:3770);

我也瀏覽了 Redshift cxplicit 鎖,但找不到任何官方文件。

我知道 Redshift 是 PostgreSQL 的包裝器,所以我可以使用該文件來實現嗎?

假設它在這種情況下像 PostgreSQL 一樣工作:

這是您收到的序列化錯誤,因為您使用的是SERIALIZABLE事務隔離級別。

這沒什麼好擔心的,只需重複交易即可。

為了避免上述錯誤,您可以使用 LOCK 命令顯式鎖定該事務。

引用自:https://dba.stackexchange.com/questions/255172