请问 PostgreSQL中有 sys_guid()函数吗?或者类似的吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问 PostgreSQL中有 sys_guid()函数吗?或者类似的吗相关的知识,希望对你有一定的参考价值。
参考技术A有的。不过默认的安装并未带这些函数,是需要作为扩展SQL安装上去的。函数名为uuid开头的,类似uuid_generate_xxx。
另外,PostgreSQL从9.1开始安装的方式有些不同,这些需要再搜索。
我用的PostgreSQL 9.3, 使用命令create extension "uuid-oosp"安装, 如下图:
成功安装之后,就可以使用类似sys_guid的函数uuid_generate_v4了,如下,
追问按照您说的 出现以下问题:
错误: 无法打开扩展控制文件 "D:/PG/share/extension/uuid ossp.control": No such file or directory
请问您知道 这是怎么回事吗? 这个文件 我的目录下 确实是有的。
是不是命令写错了? 扩展名称是uuid-ossp, 中间是横杠,不是空格!
或者说以管理员身份执行pgAminIII或使用的工具试试.
又变成
无法加载库:uuid-ossp.dll了 这东西怎么莫名其妙呢。。。
你看看在PostgreSQL安装目录的lib下有没有这个dll, 应该在此目录中的。
追问谢谢你的帮忙,问题解决了一大部分 谢谢。
本回答被提问者和网友采纳postgresql支持sys_guid()
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 (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;
以上是关于请问 PostgreSQL中有 sys_guid()函数吗?或者类似的吗的主要内容,如果未能解决你的问题,请参考以下文章
请问 postgresql中有 replace into或者 Merge into 这样的功能的语句吗 我想实现这样的功能啊
如何在 OracleCommand INSERT INTO 之后检索 sys_guid() 的值