greenplum遇到节点死锁问题

在针对一个不大的表格执行清空操作时,遇到了长时间执行且未返回结果的情况。网上搜索后,发现是遇到了死锁问题。

1. 可以在master节点,查询各进程并判断有可能是死锁的进程:

 

select gp_execution_dbid(), pid, relation::regclass, locktype, mode, granted
from gp_dist_random('pg_locks');

2. 查看具体什么语句持有的锁

select gp_execution_dbid() dbid,procpid,current_query
from gp_dist_random('pg_stat_activity')
where procpid in
(select pid from gp_dist_random('pg_locks') where locktype='relation' and mode='ExclusiveLock');

3.处理持有锁的pid

select pg_terminate_backend('procpid');

发表评论

邮箱地址不会被公开。 必填项已用*标注