我有一个可以从多个工作人员更新的数组,如下所示
UPDATE my_table SET arr = array_append(my_table.arr, element)
:
当两个工作人员尝试同时更新数组时,就会出现问题。例如,两个工人都看到在更新的那一刻,数组是空的,并尝试如下追加一个元素:
array_append(empty_arr, element_a)
和array_append(empty_arr, element_b)
。最后,数组的最终内容将是:arr[element_a]
或者arr[element_b]
因为其中一个工作人员将更早完成对数组的更新,并且它的值将被另一个工作人员的值覆盖。如何确保两个值都写入数组:arr[element_a, element_b]
?