在PostgreSQL中的小表上ALTER查询速度非常慢
发布时间:2020-12-13 18:11:07 所属栏目:百科 来源:网络整理
导读:我有一个PostgreSQL 9.2和一个小型数据库,只有一些我正在研究的网站的种子数据. 以下查询似乎永远运行: ALTER TABLE diagnose_bodypart ADD description text NOT NULL; diagnose_bodypart是一个少于10行的表.我让查询运行超过一分钟没有结果.可能是什么问
我有一个PostgreSQL 9.2和一个小型数据库,只有一些我正在研究的网站的种子数据.
以下查询似乎永远运行: ALTER TABLE diagnose_bodypart ADD description text NOT NULL; diagnose_bodypart是一个少于10行的表.我让查询运行超过一分钟没有结果.可能是什么问题呢?有没有调试这个的建议?
添加列不需要重写表(除非您指定DEFAULT).没有任何锁定,这是一个快速操作.正如克雷格指出的那样,pg_locks是值得检查的地方.
通常,最可能的原因是长期运行的事务.我会看看这些表中的工作流程以及交易持续多长时间.这种锁通常是事务性的,因此提交事务通常可以解决问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |