【发布时间】:2016-01-20 08:17:30
【问题描述】:
我有一个包含 6M+ 行的数据集,包括从大约 2003 年到当前的时间戳。 2014年数据库迁移到postgresql,由于时间戳精度更高,时间戳列变得唯一。原始 ID 列未迁移。大约 300k 的时间戳至少重复一次。我想通过增加精度来修改时间戳列,使它们是唯一的(所有非唯一的时间戳只到第二个)。
我有这个
ts message
--------------------|---------------
2014-02-01 07:40:37 | message1
2014-02-01 07:40:37 | message2
我想要这个
ts message
-------------------------|---------------
2014-02-01 07:40:37.0000 | message1
2014-02-01 07:40:37.0001 | message2
【问题讨论】:
-
真正的问题是,您是否绝对确定要使用时间戳作为键(我假设这就是您需要它们唯一的原因)?这些可能不是唯一的,原因不止一个……
-
也许做一个'select group by ts'并循环结果并执行另一个选择并将每条记录加1?
标签: postgresql