小编Neu*_*onQ的帖子

更改实时生产数据库上的表

大多数“流行”(MySQL、Postgres...)数据库系统如何处理实时生产数据库上的表更改(例如添加、删除或更改列的类型)?

我知道正确的方法是备份所有计划停机时间,然后进行更改。

但是......当前的数据库系统是否支持在不停止任何事情的情况下“在线”执行这些操作?(也许只是延迟引用刚刚更改/删除的列的查询)

当我只是ALTER TABLE...在实时运行的数据库上执行操作时会发生什么?当这种情况发生时,一切都会停止吗?数据会损坏吗?等等。

同样,我主要指的是 Postgres 或 MySQL,因为这些是我遇到的。

(而且,是的,在我以“正确的方式”做之前,任何时候我必须这样做,备份事情,安排停机等......但我只想知道是否有可能“快速且脏”或者是否有任何数据库系统实际上支持“快速、实时和脏”模式更改)


有人刚才建议的在线模式修改为MySQL从Facebook脚本(有教程这里和源在这里)......似乎是一个很好的方式来自动执行了一套“哈克”的方式来做到这一点...有没有人用它在类似于生产的东西?

mysql postgresql alter-table

27
推荐指数
3
解决办法
5万
查看次数

标签 统计

alter-table ×1

mysql ×1

postgresql ×1