我使用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;