PostgreSQL函数gen_random_uuid()无效

时间:2016-03-12 15:02:24

标签: postgresql ubuntu-14.04

运行此SQL时出现function get_random_uuid() does not exist错误:

ALTER TABLE "posts" ALTER COLUMN "id" SET DEFAULT gen_random_uuid()

我可以看到此查询pgcrypto中列出的select * from pg_available_extensions;模块。我在Ubuntu 14.04上使用PostgreSQL 9.4.5。

我错过了什么吗?

3 个答案:

答案 0 :(得分:11)

您需要使用

在当前数据库/架构中加载pgcrypto扩展
CREATE EXTENSION pgcrypto;

答案 1 :(得分:2)

如果你想访问gen_random_uuid()或PostgreSQL中任何uuid类型的特定数据库,你必须定义public实例名!如果找不到 public 实例名称,您可以选择 pgcrypto -> Properties -> Definition

public.gen_random_uuid()

如果你在 schema.prisma 中使用,你可以像这样使用

@id @default(dbgenerated("public.uuid_generate_v4()"))

答案 2 :(得分:0)

首先,它是gen_random_uuid(),而不是get_random_uuid()