12.12. 来自8.3之前文本搜索的迁移
为文本搜索使用tsearch2模块的应用将需要内置功能的一些调整。
一些函数已被重命名或在其参数列表有小的调整,并且他们现在都在
pg_catalog
模式中, 而在以前的安装中都是在public
或另一种非系统模式中。有一个新的tsearch2版本, 它提供了兼容层来解决这方面的问题。当从8.3之前数据库加载pgdump输出时,必须_抑制旧的tsearch2函数和其他对象。 而他们中的许多不会加载,一些会导致问题。一个简单处理方法就是恢复转储前加载新的tsearch2模块; 然后阻塞被加载的旧对象。
文本搜索配置设置现在完全不同。不是手动插入行到配置表,搜索是通过本章节前面显示的专门的SQL命令配置。 没有自动支持8.3转换现有的自定义配置;你可以在这里自己定义。
大多数类型的词典依靠一些外部的数据库配置文件。这些与8.3之前用法兼容,但注意以下的差异:
配置文件现在必须放在一个单一指定的目录(
$SHAREDIR/tsearch_data
)中, 必须有一个特定的扩展取决于文件的类型,如先前在各种词典类型的描述中指出的。 这个限制被添加到安全问题中。无论使用什么数据库编码,配置文件必须以UTF-8编码。
在词库的配置文件中,屏蔽词必须用
?
标记。