当前位置: 首页 > 知识库问答 >
问题:

Postgres UUID类型错误

齐航
2023-03-14

我正在尝试使用PostgreSQL在表中创建一个UUIDid。我尝试使用:

id uuid PRIMARY KEY DEFAULT uuid_generate_v4()

但我得到:

错误:函数uuid\u generate\u v4()不存在提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。

我尝试添加如下模式:id uuid PRIMARY KEY DEFAULTpublic.uuid_generate_v4()(如这里的注释所示)

我还检查了扩展是否存在(SELECT*Frompg_available_extensions;),是的,我已经将它安装在PostgreSQL数据库中:

我读到,如果Postgres在--first模式下运行,这可能不起作用,但我不知道如何测试它或是否有任何方法可以做到这一点。

有人知道我如何解决这个问题吗?或者任何其他选择?像这样使用是个好主意吗:

SET DEFAULT uuid_in(md5(random()::text || now()::text)::cstring);

共有2个答案

董嘉祯
2023-03-14

在我的例子中,我需要像这样将模式添加到函数调用中:app。uuid\u generate\u v4()

而不是这样:uuid\u generate\u v4()

通过运行以下查询,我找到了每个扩展的架构:

SELECT 
pge.extname,
pge.extversion,
pn.nspname AS schema
FROM pg_extension pge 
JOIN pg_catalog.pg_namespace pn ON pge.extnamespace = pn."oid" ;

孟智志
2023-03-14

由于未找到函数uuid\u generate\u v4,因此建议未加载扩展名uuid ossp

pg_available_extensions列出了可用的扩展,但不一定加载。

要查看已加载扩展的列表,请按如下方式查询视图pg\u扩展:

select * from pg_extension;

要加载uuid ossp扩展,请运行以下操作:

CREATE EXTENSION "uuid-ossp";

注意:这需要超级用户权限。

成功加载uuid-ossp扩展后,您应该会在pg_extension视图中看到它

 类似资料:
  • 本文向大家介绍PHP错误类型,包括了PHP错误类型的使用技巧和注意事项,需要的朋友参考一下 介绍 PHP的内部Error类型由从Error类继承的类表示。Error类实现Throwable接口。错误类的属性和方法如下- 属性 消息-错误消息 代码-错误代码 文件-发生错误的文件名 线-在错误发生的行 方法 __construct() -构造错误对象 getMessage() -获取错误信息 get

  • 我有一个错误,当试图解析我的JSON并显示在文本中,而不是作为一个。 下面是我的JSON结构。 这是我的未来API异步。 这是我显示JSON的代码。 当我试图获取数据时,我得到了这样的错误。 我应该修复哪个代码?

  • 我正面临着一个奇怪的颤动错误。我使用json序列化。 这是我的密码 我的web api发送的数据如下 这是数组的数组。 生成错误的代码是 它给出的错误 JSON数据这里是JSON数据格式的屏幕截图

  • 因此,我创建了一个应用程序,通过api读取数据,并尝试解析JSON api 这是我的错误截图 我试着把它改成一个列表,但它仍然读取一个错误 这是我的密码大象。飞奔 如何纠正此错误?请帮忙

  • 在典型的 Rust 函数中,返回的值若是有个错误的类型,将导致出现如下所示的错误: error[E0308]: mismatched types --> src/main.rs:2:12 | 1 | fn foo() { | - expected `()` because of default return type 2 | return "foo" |

  • //我正在尝试此代码,但它没有添加到firebase //它给出了这些错误 处理手势时引发了以下_TypeError:类型“List”不是类型“String”的子类型 抛出异常时,这是堆栈:#0个SharedReferences。getString(包:共享首选项/共享首选项。dart:98:35)#1 CheckItemInNot(包:e_shop/Store/storehome.dart:33