↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
历史版本。 PostgreSQL 8.3 已结束支持。 请参阅 当前版本手册.

12.12. 从 8.3 之前的文本搜索迁移 #

使用contrib/tsearch2附加模块进行文本搜索的应用需要进行一些调整,才能使用内置功能:

  • 一些函数已被重命名,或在其参数列表上做了小调整,而且它们现在都位于 pg_catalog模式中,而在以前的安装中它们可能位于 public或其他非系统模式中。新版本的contrib/tsearch2(见第 F.31 节)提供了一个兼容层,可解决这一领域的大多数问题。

  • 从 8.3 之前的数据库加载pg_dump输出时,必须屏蔽旧的contrib/tsearch2函数和其他对象。虽然其中很多本来就无法加载,但少数可以加载并随后引发问题。处理这个问题的一种简单方法是在恢复转储之前先加载新的 contrib/tsearch2模块;这样它就会阻止旧对象被加载。

  • 文本搜索配置的设置方式现在完全不同了。不再需要手动向配置表中插入行,而是通过本章前面介绍的专用 SQL 命令来配置搜索。没有将现有自定义配置转换为 8.3 形式的自动化支持;这一步需要你自己完成。

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

    • 配置文件现在必须放在一个指定的目录中($SHAREDIR/tsearch_data),并且根据文件类型必须有特定的扩展名,如前面各种词典类型的描述中所述。添加这一限制是为了防止安全问题。

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

    • 在分类词典配置文件中,停用词必须用?标记。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.