postgres在运行中会出现锁表的情况,表现为:无法打开表格,无法进行删除等任何操作,或者打开表后数据为空。
第一步:检查活动连接
select * FROM pg_stat_activity;
![](https://i-blog.csdnimg.cn/blog_migrate/feb067f1036a706d98398c93217f84bb.png)
第二步:查询“state”列状态
1 如果“state”列 有Lock ,则找到Lock所在行的“pid”,查看数字是多少。
2 执行SQL
select pg_cancel_backend(Lock所在行的“pid”数字);
如果执行完第二步还没有解锁表格,继续执行第三步。
第三步:
1 如果“state”列 有active ,则找到active所在行的“pid”,查看数字是多少。
2 执行SQL
select pg_terminate_backend(active所在行的“pid”数字);
以上是PG数据库解锁表的方法