在postgre中创建newguid()方法

来源:互联网 发布:2016年网络大电影分账 编辑:程序博客网 时间:2024/06/15 01:01

     Postgre不支持newid()方法,需要自己创建,方法:在Postgre中执行以下语句,就完成了newid()的创建。

CREATE or REPLACE FUNCTION "newid"() 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; 

参考自: http://postgresql.1045698.n5.nabble.com/newid-in-postgres-td1879346.html

原创粉丝点击