ALTER TABLE即使一张很小的桌子也要花很多时间

时间:2019-05-08 05:39:14

标签: sql postgresql heroku alter-table

我正在使用Heroku上的数据库。 我尝试添加没有默认值的另一列。 该表只有3行和5列,但是该语句仍然需要永远完成。

我对SQL知识很陌生。有什么我可以解决的吗?也欢迎使用更快的选项。

1 个答案:

答案 0 :(得分:3)

添加新列需要在表上短打ACCESS EXCLUSIVE锁。

之所以需要这么长时间,是因为还有另一个长时间运行的事务在表上持有锁。其他任何锁都与ACCESS EXCLUSIVE冲突,因此您的ALTER TABLE被阻止了。

终止另一笔交易,该声明将以闪电般的速度完成。