安装PostgreSQL后,我不断收到错误消息。
“第1行:... T COUNT()FROM(SELECT” blog_post“。” id“ AS Col1,SIMILARITY ... * ”
提示:没有函数与给定的名称和参数类型匹配。你可能需要添加显式类型转换。
sudo apt install postgresql-contrib psql#创建扩展pg_trgm; sudo服务postgresql重新启动
(venv)dev-py @ devpy-VirtualBox:〜/ Dev / mysite / mysite $ python manage.py runserver使用StatReloader监视文件更改正在执行系统检查...
系统检查未发现任何问题(0静音)。2019年7月12日-20:31:19使用设置'mysite.settings'的Django版本2.2.3在http://127.0.0.1:8000/上启动开发服务器并 使用CONTROL-C退出服务器。[12 / Jul / 2019 20:31:32]“ GET / blog / search / HTTP / 1.1” 200 995内部服务器错误:/ blog / search /追溯(最近一次调用最近):文件“ / home / dev-py /Dev/mysite/venv/lib/python3.6/site-packages/django/db/backends/utils.py“,第84行,在_execute中返回self.cursor.execute(sql,params)psycopg2.errors.UndefinedFunction:功能相似性(字符变化,未知)不存在
“第1行:... T COUNT()FROM(SELECT” blog_post“。” id“ AS Col1,SIMILARITY ... * ”
提示:没有函数与给定的名称和参数类型匹配。你可能需要添加显式类型转换。
任何帮助,将不胜感激。在寻求帮助之前,我花了3天的时间进行故障排除,但是我确信有人知道答案,而且很简单。如果你需要更多信息,请致电lmk。
为了在PostgreSQL中使用三元组,你需要首先安装pg_trgm扩展。从外壳执行以下命令以连接到数据库。
psql blog
然后,执行以下命令以安装pg_trgm扩展名:
CREATE EXTENSION pg_trgm;
完毕。
这是因为(我不知道为什么吗?)TrigramSimilarity在search_query上不起作用。相反,它将与字符串一起使用。或都不与SearchVectorField一起使用常规字段。