select...for update获取

最近更新时间: 2025-02-18 16:02:00

  • 复制
    复制成功
#session1 
postgres=#  begin;
BEGIN
postgres=# set lock_timeout to 1; 
SET
postgres=# select * from t_row_lock where mc='pgxz' for update;
 id |  mc  
----+------
  2 | pgxz
(1 row)
#session2 
postgres=# begin;
BEGIN
postgres=# set lock_timeout to 1; 
SET
postgres=# select * from t_row_lock where mc='TDSQL PG' for update;
 id |  mc  
----+------
  2 | pgxz
(1 row)

上面session1与session2分别持有mc=pgxz行和mc=TDSQL PG的行锁。