通用标识符函数
- 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()函数。