暂无图片
opengauss中创建表非常慢,最后提示失败
我来答
分享
大漠
2021-09-08
opengauss中创建表非常慢,最后提示失败

studentdb=> create table ADVISOR
studentdb-> (
studentdb(> STU_ID varchar(5) not null,
studentdb(> ID varchar(5),
studentdb(> primary key (STU_ID)
studentdb(> );

错误信息:
ERROR: Lock wait timeout: thread 140197302351616 on node dn_6001 waiting for ShareLock on transaction 7766 after 1200000.600 ms
DETAIL: blocked by hold lock thread 140197328570112, statement <select * from advisor;>, hold lockmode ExclusiveLock.
studentdb=>

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
贾军锋

先在pg_stat_activity视图里看看,这个pid为“140197328570112”的会话是干什么的?
如果可以强行关闭,那就用pg_terminate_backend函数把它关掉吧。

暂无图片 评论
暂无图片 有用 0
暂无图片
沧海一声笑

因为select * from advisor查询sql阻塞了创建表的操作,导致创建表的操作超时

暂无图片 评论
暂无图片 有用 0
有教无类

PG中create table是放在事务中,可以回滚的。
如果一个session中在事务里创建表,未提交。另一个session中需要等待

image.png

image.png

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏