更新时间:2024-08-20 GMT+08:00

通用标识符函数

  • sys_guid()

    描述:产生并返回一个全局唯一的标识符,由16个字节组成,生成的标识符有当前机器IP,生成时间戳,随机数生成一个全局唯一的uuid。

    参数:无。

    返回值类型:raw

    示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    gaussdb=# SET a_format_version='10c';
    SET
    gaussdb=# SET a_format_dev_version='s5';
    SET
    gaussdb=# SELECT sys_guid();
                 sys_guid             
    ----------------------------------
     9010675E560CB33C1BDAFA163E378F87
     (1 row)
    
  • uuid()

    描述:返回一个根据RFC 4122、ISO/IEF 9834-8:2005以及相关标准定义的通用唯一标识符(UUID)。这个标识符是一个小写十六进制数字的字符串,由分字符分成几组,一组8位数字+三组4位数字+一组12位数字,总共32个数字代表128位。

    参数:无。

    返回值类型:varchar

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT uuid();
                     uuid                 
    --------------------------------------
     dd8cbe92-1a25-013c-a514-e435c87e9182
    (1 row)
    
  • uuid_short()

    描述:返回一个在一定条件下具有唯一性的短通用标识符。这个标识符是一个64位无符号类型的整数。

    在满足下列条件时,返回的值是唯一的。

    • 当前集群下的服务节点数不能超过256个。
    • 不能在节点重新启动之间设置服务器主机的系统时间。
    • 在节点重新启动之间平均每秒调用uuid_short() 少于1600万次。

    参数:无。

    返回值类型:uint64

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT uuid_short();
         uuid_short     
    --------------------
     100440026956955649
    (1 row)
    

    从505.0.0之前的版本升级至最新版本,升级未提交情况下不能使用uuid_short()函数。