manage.py抛出错误“使用pgsql FTS后端需要支持tsearch2的PostgreSQL”

时间:2013-07-11 00:26:04

标签: python django postgresql windows-7

首先,必须提出必要的“我对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

有关为何我收到此错误的任何见解?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

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

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

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

CREATE EXTENSION tsearch2;

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