在Postgres中为插入语句生成UUID?

我的问题很简单。我知道UUID的概念,我想生成一个引用UDB的“存储”中的每个“项目”。看起来合理吧?


问题是以下行返回错误:


honeydb=# insert into items values(

uuid_generate_v4(), 54.321, 31, 'desc 1', 31.94);

ERROR:  function uuid_generate_v4() does not exist

LINE 2: uuid_generate_v4(), 54.321, 31, 'desc 1', 31.94);

        ^

HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

我已在以下位置阅读该页面:http : //www.postgresql.org/docs/current/static/uuid-ossp.html

我在Ubuntu 10.04 x64上运行Postgres 8.4。



HUH函数
浏览 1833回答 3
3回答

犯罪嫌疑人X

uuid-ossp是contrib模块,因此默认情况下不会加载到服务器中。您必须将其加载到数据库中才能使用。对于现代PostgreSQL版本(9.1及更高版本),这很容易:CREATE EXTENSION IF NOT EXISTS "uuid-ossp";但对于9.0及以下版本,您必须改为运行SQL脚本来加载扩展。请参阅8.4中的contrib模块文档。对于Pg 9.1及更高版本,请阅读当前的contrib文档和CREATE EXTENSION。这些功能在9.0或更早的版本(例如8.4)中不存在。如果您使用的是PostgreSQL的打包版本,则可能需要安装包含contrib模块和扩展名的单独软件包。在软件包管理器数据库中搜索“ postgres”和“ contrib”。
打开App,查看更多内容
随时随地看视频慕课网APP