我在我的SQL脚本中使用levenshtein()函数.我正在使用Postgresql数据库和客户端来执行脚本.这是一个错误:
函数levenshtein(字符变化,字符变化)不存在.提示:没有函数匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我知道它的常见解决方案,即创建我已经做过的'fuzzystrmatch'等扩展,奇怪的是4天前我创建fuzzystrmatch扩展时,同样的脚本顺利运行!
下面是我使用levenshtein()的代码行.
as $$select (1.0 - levenshtein($1, $2)::real/greatest(length($1), length($2)))::real;$$;
Run Code Online (Sandbox Code Playgroud)
此SQL命令告诉您当前安装扩展的位置:
SELECT n.nspname
FROM pg_extension e
JOIN pg_namespace n
ON e.extnamespace = n.oid
WHERE e.extname = 'fuzzystrmatch';
Run Code Online (Sandbox Code Playgroud)
如果不是你的search_path,你的查询将找不到该功能.
要在不同的模式中使用扩展,请在以下示例public中删除并重新创建它:
DROP EXTENSION fuzzystrmatch;
CREATE EXTENSION fuzzystrmatch SCHEMA public;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |