大多数“流行”(MySQL、Postgres...)数据库系统如何处理实时生产数据库上的表更改(例如添加、删除或更改列的类型)?
我知道正确的方法是备份所有计划停机时间,然后进行更改。
但是......当前的数据库系统是否支持在不停止任何事情的情况下“在线”执行这些操作?(也许只是延迟引用刚刚更改/删除的列的查询)
当我只是ALTER TABLE...在实时运行的数据库上执行操作时会发生什么?当这种情况发生时,一切都会停止吗?数据会损坏吗?等等。
同样,我主要指的是 Postgres 或 MySQL,因为这些是我遇到的。
(而且,是的,在我以“正确的方式”做之前,任何时候我必须这样做,备份事情,安排停机等......但我只想知道是否有可能“快速且脏”或者是否有任何数据库系统实际上支持“快速、实时和脏”模式更改)
有人刚才建议的在线模式修改为MySQL从Facebook脚本(有教程这里和源在这里)......似乎是一个很好的方式来自动执行了一套“哈克”的方式来做到这一点...有没有人用它在类似于生产的东西?