解锁PostgreSQL
在开发DataSpider过程中,有时会在脚本执行中发生错误,导致在提交事务之前出现了错误,因此导致PostgreSQL被锁定。为了解决这个问题,我进行了如下的解决方法:
1. 使用SQL查询确认自己的进程ID。
SELECT l.pid, l.locktype, l.mode, c.relname, d.datname
FROM pg_locks l
LEFT JOIN pg_class c ON l.relation = c.relfilenode
LEFT JOIN pg_database d ON l.database = d.oid
ORDER BY l.pid;
2. 使用SQL终止进程。
SELECT pg_terminate_backend(‘在步骤1中确认的进程ID’)
※尽管pg_cancel_backend不起作用,但是可以使用pg_terminate_backend终止进程。