【问题标题】:How to get an exclusive lock on a Postgres table using Ecto?如何使用 Ecto 在 Postgres 表上获得排他锁?
【发布时间】:2019-01-18 05:34:03
【问题描述】:

如何获得整个 Postgres 表的锁定,这样没有其他进程可以更新表中的任何行(但仍然可以使用 SELECT 读取行)? 我认为我想要的锁类型是 EXCLUSIVE,但我不确定如何使用 Ecto 查询为整个表获取这样的锁。

谢谢!

【问题讨论】:

    标签: postgresql elixir ecto


    【解决方案1】:

    使用LOCK:

    LOCK my_table IN EXCLUSIVE MODE;
    

    注意LOCK TABLE只能用在交易区块中。

    另见How to use raw sql with ecto Repo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      • 1970-01-01
      • 2018-05-16
      相关资源
      最近更新 更多