2017-01-05 62 views
0

有没有什么方法可以在Greenplum中生成UUID。由于最新版本的Greenplum使用的是Postgres 8.2,并且此功能不适用于Postgres 8.2(由Greenplum使用),但Postgres的更新版本中已添加相同功能。有什么方法可以在greenplum中使用UUID填充列?greenplum中是否有任何函数可用于生成UUID

回答

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 
相关问题