CREATE or REPLACE FUNCTION new_guid()   

RETURNS "pg_catalog"."varchar" AS   

$BODY$   

DECLARE   

  v_seed_value varchar(32);   

BEGIN   

select   

md5(   

inet_client_addr()::varchar ||   

timeofday() ||   

inet_server_addr()::varchar ||   

to_hex(inet_client_port())   

)   

into v_seed_value;   

return (substr(v_seed_value,1,8) || '-' ||   

        substr(v_seed_value,9,4) || '-' ||   

        substr(v_seed_value,13,4) || '-' ||   

        substr(v_seed_value,17,4) || '-' ||   

        substr(v_seed_value,21,12));   

END;   

$BODY$   

LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER;

 

 

  用法:

SELECT  new_guid();

-- 或剔除-
select replace(new_guid(),'-','')

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐