在postgre中建立newguid()方法
阿新 • • 發佈:2019-01-09
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;