postgres uuid_generate_v1() does not exist

目录

一、现象:

二、原因:

三、解决方法:

1.安装uuid-ossp扩展依赖环境

2.启用uuid-ossp扩展

3.验证

再次执行


一、现象:

schema=# select uuid_generate_v1();

ERROR: function uuid_generate_v1() does not exist

第1行select uuid_generate_v1();

^

提示: No function matches the given name and argument types. You might need to add explicit type casts.

时间:14.543 ms

二、原因:

默认情况,postgres 是没有uuid_generate_v1方法的,需要安装扩展,并使其启用uuid-ossp才可以使用该方法。

三、解决方法:

1.安装uuid-ossp扩展依赖环境

可使用编译安装或Yum安装,因为我这里的环境是Postgres10,yum安装,因此优先选择yum安装扩展。

yum install -y postgresql10-contrib

2.启用uuid-ossp扩展

postgres=# create extension "uuid-ossp" ;

CREATE EXTENSION

3.验证

postgres-# \dx

已安装扩展列表

名称 | 版本 | 架构模式 | 描述

-----------+------+------------+-------------------------------------------------

plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language

uuid-ossp | 1.1 | public | generate universally unique identifiers (UUIDs)

更详细内容

postgres=# \dx+
        对象用于扩展 "plpgsql"
               对象描述                
---------------------------------------
 函数 plpgsql_call_handler()
 函数 plpgsql_inline_handler(internal)
 函数 plpgsql_validator(oid)
 语言 plpgsql
(4 行记录)

     对象用于扩展 "uuid-ossp"
             对象描述             
----------------------------------
 函数 uuid_generate_v1()
 函数 uuid_generate_v1mc()
 函数 uuid_generate_v3(uuid,text)
 函数 uuid_generate_v4()
 函数 uuid_generate_v5(uuid,text)
 函数 uuid_nil()
 函数 uuid_ns_dns()
 函数 uuid_ns_oid()
 函数 uuid_ns_url()
 函数 uuid_ns_x500()
(10 行记录)

再次执行

postgres=# select uuid_generate_v1();
           uuid_generate_v1           
--------------------------------------
 9ffd8cc8-db44-11eb-8952-0050568a41b8
(1 行记录)

上一篇:不同微服务之间Feign调用方法(Pigx框架下)


下一篇:python模块