CREATE or REPLACE FUNCTION "sys_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 upper((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;

posted on 2017-11-09 17:24  小世界&大视界  阅读(1529)  评论(0编辑  收藏  举报