GaussDB-通用标识符函数

165 阅读2分钟

GaussDB-通用标识符函数

  • sys_guid()

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

    参数:无。

    返回值类型:raw

    示例:

    | ``` 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

    示例:

    | ``` gaussdb=# SELECT uuid(); uuid -------------------------------------- dd8cbe92-1a25-013c-a514-e435c87e9182 (1 row)

    | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    
    
  • uuid_short()

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

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

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

    参数:无。

    返回值类型:uint64

    示例:

    | ``` gaussdb=# SELECT uuid_short(); uuid_short -------------------- 100440026956955649 (1 row)

    | ------------------------------------------------------------------------------------------------------------- |
    
    ![](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/b9636573b8d442bb962159249934eae7~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1771817795&x-signature=jPYY%2FZtsMqklfiMXIB1wZ9WSOnk%3D)
    
    从505.0.0之前的版本升级至最新版本,升级未提交情况下不能使用uuid_short()函数。
    

更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…