pgsql 存储过程生成id

最近在存储过程中插入大量数据,调度任务时常应为数据太多生成了重复id导致插入失败。最后了找到了一种还算可以的id生成方式的吧,百万数据几本不出问题。

select --生产id  重复率比较低 可以增量更新
    concat(
        floor(extract(epoch from(current_timestamp-timestamp '1970-01-01 00:00:00')*1000))
        ,lpad(row_number()over()::varchar,11,'0')
        );

也就是时间戳+唯一行号。要时有更好的方法,欢迎贴出来让我去取取经

你可能感兴趣的:(数据库,时序数据库)