迁移msb& lsb postgres列到uuid列

时间:2016-02-26 21:43:07

标签: postgresql uuid

我有2个bigint列,msb& lsb,我想加入一个uuid列。

是否可以更改表格以添加uuid列&从msblsb值生成uuid值? msb应该是uuid&的前64位。 lsb应该是底部的64位。

1 个答案:

答案 0 :(得分:2)

添加一个新的uuid类型列(假设为sb;首先为可为空)。然后使用

更新您的表格
UPDATE table_name
SET    sb = (lpad(to_hex(msb), 16, '0') || lpad(to_hex(lsb), 16, '0'))::uuid

然后您可以将其设为主键(并可选择删除msb& lsb)。