Updated on 2025-05-29 GMT+08:00

UUID Functions

sys_guid()

Description: Generates and returns a 16-byte universally unique identifier (UUID). The generated UUID contains the IP address of the current node, generation timestamp, and random number.

Parameter: none

Return type: raw

Example:

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()

Description: Returns a UUID defined in RFC 4122, ISO/IEF 9834-8:2005, and related standards. The identifier is a string of lowercase hexadecimal digits, which are divided into several groups: a group of 8 digits, three groups of 4 digits, and a group of 12 digits. A total of 32 digits represent 128 bits.

Parameter: none

Return type: varchar

Example:

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

uuid_short()

Description: Returns a short UUID under certain conditions. This identifier is a 64-bit unsigned integer.

The returned value is unique when the following conditions are met:

  • The number of service nodes in the current cluster cannot exceed 256.
  • You cannot set the system time of the server host between node restarts.
  • The average number of uuid_short() calls per second between node restarts is less than 16 million.

Parameter: none

Return type: uint64

Example:

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

For upgrade from a version to GaussDB Kernel 505.0.0, the uuid_short() function cannot be used if the upgrade is not committed.