Postgresql相当于这个基于UUID的函数



我正在为新项目评估PostgreSQL,否则我们会使用MySql。我在MySql中生成这些类型的ID,MySql是一个翻转的V1 GUID:

create function get_uuid() returns binary(16)
begin
return (
select unhex(concat(
substr(uuid(), 15, 4),
substr(uuid(), 10, 4),
substr(uuid(), 1, 8),
substr(uuid(), 20, 4),
substr(uuid(), 25))) as new_id
);
end;

然后,我将使用mysql-hex((和unxx((函数将它们转换为二进制(16(,以便将字段所需的存储量减半。

如果你好奇的话,所有这些都记录在这里:

https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/

但是。。。我要找的是Postgres的等价函数。从今天起,我是100%的新手。

Postgres不需要此破解。它有一个本地数据类型uuid,存储UUID值只需要16个字节。

最新更新