如何在Postgres中解锁行

时间:2018-12-13 14:09:48

标签: sql postgresql locking

我可能已经杀死(-9)进程,该进程锁定了我的表中的一行。 现在,只要我尝试:

SELECT * 
FROM my_table 
WHERE id=6 FOR UPDATE NOWAIT;

我得到:

  

错误:无法在关系“ my_table”的行上获得锁定。

如何解锁该行?

1 个答案:

答案 0 :(得分:1)

好吧,我想通了。

  • 我做了select * from pg_locks;
  • 检查了pid,与我杀害的类似。
  • 然后我做了ps aux | grep suspicious_pid
  • 我得到了类似的内容:postgres: q-back my_project ::1(63686) idle in transaction
  • 然后是kill suspicious_pid,其中suspicious_pid是当然的PID数。