一、问题描述
在使用PostgreSQL数据库调用函数(方法)的过程中,出现了提示方法不唯一的问题,如下图。
二、解决方法
2.1 首先登录数据库 查看该方法是否重复
登录命令
// psql -d dbname(你的库名) -p 8432(你的端口号) -U dbuser(你的用户名)eg: psql -d dbname -p 8432 -U dbuser
然后执行命令
\df avg
响应结果如下
由上图发现我的名字并未重复,如果有冲突的方法名称,则执行以下命令删除。
drop aggregate schema名称.方法名(入参);eg:drop aggregate pg_catalog.avg(bigint);
如果查看方法名是唯一的,则考虑一下入参问题,我是因为参数类型不一引起的,墙转一下就好了。
2.2 强转一下参数类型
我是遇到的这个问题,在avg函数的入参中,将字段类型强转一下就好使了。
强转类型格式:字段名称::类型,比如图中的satisfaction::numeric。