Pgsql自定义id

SELECT
    /* ===== id 自动赋值 =====
       本表 id 为雪花算法(IdType.ASSIGN_ID), 无序列, 不能用 nextval.
       采用: 毫秒时间戳 * 100000 + 行号, 保证同一次执行内唯一且整体递增.
       statement_timestamp() 在整条语句内取值固定, 配合 ROW_NUMBER() 不会重复;
       量级 1.7e12 * 1e5 ≈ 1.7e17, 未超 bigint 上限(9.2e18).
    */
    (EXTRACT(EPOCH FROM statement_timestamp()) * 1000)::bigint * 100000
        + ROW_NUMBER() OVER ()                                                   AS id

 

posted @ 2026-08-11 14:16  真某人  阅读(3)  评论(0)    收藏  举报