【发布时间】:2015-12-05 11:46:18
【问题描述】:
我想将一列从timestamp(无时区)迁移到timestamptz 类型。
我使用的是 Postgres 9.3.9。
我需要知道此操作是否会导致表重写(锁定表),因为我的表很大并且数据库处于活动状态。
我在9.2 release notes 中找到了这个:
增加 varchar 或 varbit 列的长度限制,或完全取消限制,不再需要重写表。同样,增加数值列的允许精度,或将列从受约束的数值更改为不受约束的数值,不再需要重写表。在涉及 interval、timestamp 和 timestamptz 类型的类似情况下,也可以避免表重写。
这听起来很有希望,但实际上并没有详细说明“类似案例”可能是什么。
如果此操作 将锁定表,我将不胜感激有关如何在实时数据库上解决此问题而不中断服务的建议。
【问题讨论】:
标签: postgresql concurrency timestamp postgresql-9.3 alter-table