小编Sup*_*zar的帖子

更改表添加没有默认块的列

太长了;博士

以下查询在执行时会阻止 postgres 服务器

ALTER TABLE "image_data" ADD COLUMN "user_status" varchar(30) NULL
Run Code Online (Sandbox Code Playgroud)

引擎版本10.6

行数 1.5 mil

你好,

我的生产数据库服务器有一个有点奇怪的问题(我无法在本地服务器上重现)。作为部署过程的一部分,我想添加一个默认值为null的新列。当我运行上述查询(由 dajngo 的迁移过程生成)时,它失败了,并且在此过程中锁定了数据库并阻止了其他查询(非锁定选择)的执行。由于是生产环境,所以几分钟后(大约10分钟)就回滚了。我发现最不寻常的是,相同的查询在我的本地数据库复制(具有与生产完全相同的数据)上执行不到一秒。

编辑:当我运行此事务时,它会阻止所有其他选择查询对数据库的访问 - 我认为(如果我错了,请纠正我)意味着数据库实际上被此事务阻止了。

postgresql alter-table postgresql-10

3
推荐指数
1
解决办法
1875
查看次数

标签 统计

alter-table ×1

postgresql ×1

postgresql-10 ×1