12.12. 来自8.3之前文本搜索的迁移

为文本搜索使用tsearch2模块的应用将需要内置功能的一些调整。

  • 一些函数已被重命名或在其参数列表有小的调整,并且他们现在都在pg_catalog模式中, 而在以前的安装中都是在public或另一种非系统模式中。有一个新的tsearch2版本, 它提供了兼容层来解决这方面的问题。

  • 当从8.3之前数据库加载pgdump输出时,必须_抑制旧的tsearch2函数和其他对象。 而他们中的许多不会加载,一些会导致问题。一个简单处理方法就是恢复转储前加载新的tsearch2模块; 然后阻塞被加载的旧对象。

  • 文本搜索配置设置现在完全不同。不是手动插入行到配置表,搜索是通过本章节前面显示的专门的SQL命令配置。 没有自动支持8.3转换现有的自定义配置;你可以在这里自己定义。

  • 大多数类型的词典依靠一些外部的数据库配置文件。这些与8.3之前用法兼容,但注意以下的差异:

    • 配置文件现在必须放在一个单一指定的目录($SHAREDIR/tsearch_data)中, 必须有一个特定的扩展取决于文件的类型,如先前在各种词典类型的描述中指出的。 这个限制被添加到安全问题中。

    • 无论使用什么数据库编码,配置文件必须以UTF-8编码。

    • 在词库的配置文件中,屏蔽词必须用?标记。