更新时间:2025-05-29 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()函数。