postgresql – 在Postgres中为Insert语句生成UUID?

前端之家收集整理的这篇文章主要介绍了postgresql – 在Postgres中为Insert语句生成UUID?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题很简单。我知道一个UUID的概念,我想生成一个引用每个’项目’从’存储’在我的数据库。似乎合理吗?

问题是下面的行返回一个错误

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(),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。

uuid是一个contrib模块,因此默认情况下不会加载到服务器中。您必须将其加载到数据库中才能使用它。

对于现代Postgresql版本(9.1和更新版本)很容易:

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

但对于9.0及以下版本,您必须改为运行sql脚本以加载扩展。见the documentation for contrib modules in 8.4

对于Pg 9.1和更高版本,而是读取the current contrib docsCREATE EXTENSION.这些功能不存在于9.0或更旧版本,如您的8.4。

如果您使用Postgresql的打包版本,您可能需要安装一个包含contrib模块和扩展的单独的包。在包管理器数据库搜索’postgres’和’contrib’。

猜你在找的Postgre SQL相关文章