UUID生成器(sequential-uuids)

RDS PostgreSQL支持Sequential UUID generators插件,该插件提供顺序模式的UUID生成。

您可以加入RDS PostgreSQL插件交流钉钉群(103525002795),进行咨询、交流和反馈,获取更多关于插件的信息。

前提条件

  • RDS PostgreSQL实例版本满足以下要求:

    • 实例大版本为RDS PostgreSQL 10或以上。

    • 内核小版本为20220228以上。查看和升级内核小版本,请参见升级内核小版本

  • 您的账号类型必须为高权限账号。您可以在RDS控制台目标实例的账号管理中查看您的账号权限类型。如果您的账号类型为普通账号,您需要创建高权限账号,创建详情请参见创建账号

插件开启和关闭

  • 开启sequential-uuids

    CREATE EXTENSION sequential_uuids;
  • 关闭sequential-uuids

    DROP EXTENSION sequential_uuids;

使用示例

该扩展提供了两个函数,使用序列或时间戳生成顺序UUID。

说明

该插件的更多使用方法及参数说明,请参见Sequential UUID generators官方文档

  • uuid_sequence_nextval函数

    格式:

    uuid_sequence_nextval(sequence regclass, block_size int default 65536, block_count int default 65536)

    命令示例:

    CREATE SEQUENCE s;
    SELECT uuid_sequence_nextval('s'::regclass, 256, 256);

    结果示例:

            uuid_sequence_nextval
    --------------------------------------
     00cf26f7-ef7a-4746-8871-08b9c475713e
    (1 row)
  • uuid_time_nextval函数

    格式:

    uuid_time_nextval(interval_length int default 60, interval_count int default 65536) RETURNS uuid

    命令示例:

    SELECT uuid_time_nextval(1, 256);

    结果示例:

              uuid_time_nextval
    --------------------------------------
     179f542c-978c-454c-9dee-5f4ba75288e1
    (1 row)