在greenplum中是否有任何可用于生成UUID的函数

时间:2017-01-05 15:53:12

标签: greenplum

有没有办法在Greenplum中生成UUID。由于最新版本的Greenplum使用的是Postgres 8.2,而且这个功能不适用于Postgres 8.2(由Greenplum使用),但Postgres的后续版本也增加了相同的功能。有没有办法在greenplum中用UUID填充列?

1 个答案:

答案 0 :(得分:2)

你可以用PL / Python编写它,因为Python的uuid库使这很容易(我假设一个随机的UUID,你可以把它作为“gpadmin”运行):

CREATE OR REPLACE FUNCTION UUID ()
RETURNS VARCHAR(36)
AS $$
import uuid
return str(uuid.uuid4())
$$ LANGUAGE plpythonu;

现在(仍然是gpadmin):

gpadmin=# select UUID() from generate_series(1, 10);
                 uuid
--------------------------------------
 476f35e4-da1a-43cf-8f7c-950ac71d4848
 71db22ed-ff6f-4615-a877-db803b474ae7
 6584670a-ab4d-44c5-b854-7e19e66d4738
 ed174b1f-0b61-48df-bdec-60146e063d74
 bb643e3e-5d7f-4382-b415-0145cd2bca99
 d4c784f7-1baa-4869-b9a8-d6cf6dce0cba
 79e65c0f-9573-4d94-8c9a-f894ec096643
 bf8dd0da-e1dd-4604-851d-01b0ac8793c3
 b80180de-d342-456f-952f-1ca2cbcce4e4
 f752ed61-d71a-4835-ac12-8e66132ba351
(10 rows)

Time: 1.902 ms