2012-02-20 29 views
0

我在运行rails应用程序和postgres作为后端时出现以下uuid错误。有人可以帮我解决哪些依赖需要。在运行rake迁移时遇到postgres错误

[[email protected] webapp]# rake db:migrate 
    (in /root/mysite/webapp) 
    == CreateContributors: migrating ============================================= 
    -- create_table(:contributors, {:id=>false}) 
     -> 0.0121s 
    -- execute("alter table contributors add primary key (id)") 
    NOTICE: ALTER TABLE/ADD PRIMARY KEY will create implicit index "contributors_pkey" for table "contributors" 
     -> 0.0797s 
    -- execute("alter table contributors alter column id set default uuid_generate_v1()::varchar") 
    rake aborted! 
    An error has occurred, this and all later migrations canceled: 

    PGError: ERROR: function uuid_generate_v1() does not exist 
    HINT: No function matches the given name and argument types. You might need to add explicit type casts. 
    : alter table contributors alter column id set default uuid_generate_v1()::varchar 

回答

1

uuid_generate_v1()功能是uuid-ossp package的一部分,你必须是安装到PostgreSQL的,然后才能使用它。您应该在PostgreSQL contrib目录中有一个名为uuid-ossp.sql的文件。您可以安装该软件包:

$ psql -d your_database < /the/path/to/uuid-ossp.sql 

您可能想要将其作为数据库超级用户运行。

+0

感谢现在的工作其实路径是有人在的pgsql/contrib请一个问题,我一直在寻找在Postgres的文件夹 – 2012-02-20 07:17:10

+0

在Ubuntu这个文件的目录似乎是: 在/ usr /共享/ PostgreSQL的/ [Postgres的版本]/延期 – MissingHandle 2013-10-03 00:02:59

相关问题