postgres在运行中会出现锁表的情况,表现为:无法打开表格,无法进行删除等任何操作,或者打开表后数据为空。
第一步:检查活动连接
select * FROM pg_stat_activity;
第二步:查询“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数据库解锁表的方法
当Postgres数据库出现锁表问题,无法进行操作时,可以通过检查pg_stat_activity视图找到锁定状态的连接PID,然后使用pg_cancel_backend或pg_terminate_backend终止相关进程来解锁表格。
2080

被折叠的 条评论
为什么被折叠?



