2

首先,必须做出必要的“我对 python 很陌生”评论。

我的一些环境细节: - Windows 7 - Python 2.7 - Django 1.3.4 - PostgreSQL 9.2

当我尝试运行“manage.py syncdb”时出现以下错误。

  File "c:\python27\lib\site-packages\fts\backends\pgsql.py", line 46, in __init__
    raise InvalidFtsBackendError("PostgreSQL with tsearch2 support is needed to use the pgsql FTS backend")
fts.backends.base.InvalidFtsBackendError: PostgreSQL with tsearch2 support is needed to use the pgsql FTS backend

我很困惑为什么会抛出这个错误,因为我安装了 Django-tsearch2 包(在这里找到:https ://github.com/hcarvalhoalves/django-tsearch2 )

关于我为什么会收到此错误的任何见解?

谢谢你的时间!

4

1 回答 1

0

看起来您正在尝试将较旧的 Django 版本与较新的 PostgreSQL 一起使用。

在更新的 PostgreSQL 版本中,全文搜索已从 contrib 模块转换为内置功能。它曾经是tsearch2扩展,这似乎是 Django 正在寻找的。

为了向后兼容旧版本,PostgreSQL 仍然包含一个扩展,提供旧的运算符和tsearch2. 您可以通过以 PostgreSQL 超级用户身份运行以下命令在数据库中启用它:

CREATE EXTENSION tsearch2;

这应该允许您的旧 Django 版本“看到”全文搜索支持。

于 2013-07-11T01:54:50.730 回答