【问题标题】:Function uuid_generate_v4() does not exist postgres 11函数 uuid_generate_v4() 不存在 postgres 11
【发布时间】:2019-06-01 23:07:19
【问题描述】:

我正在尝试使用 node-pg-migrate 并运行迁移以在我的节点项目中创建表。 当我运行迁移时,我得到函数 uuid_generate_v4() 不存在。

我确实检查了我的扩展并且 uuid-ossp 可用。

extname  | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
-----------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql   |       10 |           11 | f              | 1.0        |           | 
 uuid-ossp |    16384 |         2200 | t              | 1.1        |           | 
(2 rows)

我希望我的迁移能够运行,但它失败了。我在 Mac 上使用 Postgres 11。 Postgres 从这里安装 - https://postgresapp.com/

【问题讨论】:

标签: postgresql postgresql-11


【解决方案1】:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

【讨论】:

    【解决方案2】:

    很遗憾,我没有太多关于您的 pg-migrate 文件的信息,但您必须指定以下内容:

    pgm.createExtension('uuid-ossp', { ifNotExists: true });
    // and
    pgm.createTable('my_table', {
        id: { type: 'uuid', primaryKey: true, default: new PgLiteral('gen_random_uuid()') },
        // ...
    
    

    【讨论】:

    • 嘿,我试过了,它仍然说找不到函数。我一定是在做一些非常愚蠢的事情。在某个地方我发现它不在正确的架构中,我什至把它放了,它仍然给出了同样的错误。
    猜你喜欢
    • 2021-02-21
    • 2020-03-04
    • 2014-04-22
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    相关资源
    最近更新 更多