如何在Ubuntu 10.04上使用PostgreSQL 8.4.4生成uuid?

我使用Ubuntu 10.04运行PostgreSQL 8.4.4。

我正在尝试生成uuid,但无法find办法。

我在/usr/share/postgresql/8.4/contrib/uuid-ossp.sql有uuid-ossp.sql

当我尝试这是我得到:

 postgres=# SELECT uuid_generate_v1(); ERROR: function uuid_generate_v1() does not exist LINE 1: SELECT uuid_generate_v1(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. 

任何想法 ?

contrib中的东西不会自动运行。 你必须自己运行才能安装这些功能。 我不知道8.4版本,但在8.3版本中,它似乎只安装每个数据库,所以打开你在psql中使用的数据库,并发出命令\i /usr/share/postgresql/8.4/contrib/uuid-ossp.sql

我在PostgreSQL中看到了这一点。 它需要pgcrypto contrib模块。

 CREATE OR REPLACE FUNCTION generate_uuid() RETURNS UUID AS $$ SELECT ENCODE(GEN_RANDOM_BYTES(16), 'hex')::UUID $$ LANGUAGE SQL IMMUTABLE;