greenplum中的一个表truncate不动,也drop不动,是怎么回事?

lqb2008 2014-04-14 09:29:10
如题,没有查到其他进程访问该表,请问如何处理?谢谢!!!!
...全文
1782 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘飞强丶Conan 2016-08-24
  • 打赏
  • 举报
回复
楼主,你这个问题解决了么,我也遇到了这问题,头疼啊
lqb2008 2014-04-15
  • 打赏
  • 举报
回复
lqb2008 2014-04-14
  • 打赏
  • 举报
回复
引用 4 楼 benluobobo 的回复:
这是属于X锁,所以你的truncate是无法运行的,找到这个锁的具体运行SQL语句,你可以先kill该线程,再执行truncate
怎么去找这个线程? SELECT * FROM pg_stat_activity where procpid in(select pid from pg_locks ) 是这样么?但是查不到记录!
benluobo 2014-04-14
  • 打赏
  • 举报
回复
这是属于X锁,所以你的truncate是无法运行的,找到这个锁的具体运行SQL语句,你可以先kill该线程,再执行truncate
lqb2008 2014-04-14
  • 打赏
  • 举报
回复
发现了一锁:locktype为transactionid、mode为ExclusiveLock,请问一下该怎么处理?

wwwwb 2014-04-14
  • 打赏
  • 举报
回复
日志打开没有,表有多少条记录?表有问题?
benluobo 2014-04-14
  • 打赏
  • 举报
回复
按道理truncate是很快的,可以看看是否线程被阻塞了,如果解决不了,重启数据库再试试
lqb2008 2014-04-14
  • 打赏
  • 举报
回复
引用 7 楼 wwwwb 的回复:
如果确定没有其它进程访问数据库 获取到数据库某个连接的PID SELECT * FROM pg_stat_activity 看看有什么结果 
这个是有些记录,但是没有相关的表的记录,所以不好用啊。。。
wwwwb 2014-04-14
  • 打赏
  • 举报
回复
如果确定没有其它进程访问数据库 获取到数据库某个连接的PID SELECT * FROM pg_stat_activity 看看有什么结果 
lqb2008 2014-04-14
  • 打赏
  • 举报
回复
顶一下,求解决!!!

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧