PostgreSQLLa base de données la plus sophistiquée au monde.

12.12. Migration à partir d'une recherche plein texte antérieure à 8.3

Les applications qui ont utilisé le module contrib contrib/tsearch2 pour la recherche plein texte auront besoin de quelques ajustements pour fonctionner avec la version interne :

  • Certaines fonctions ont été renommées ou ont profité de petits ajustements dans leur listes d'arguments. Elles sont toutes dans le schéma pg_catalog alors que, dans une installation précédente, elles auraient fait partie de public ou d'un autre schéma utilisateur. Il existe une nouvelle version de contrib/tsearch2 (voir la Section F.35, « tsearch2 ») qui fournit une couche de compatibilité permettant de résoudre la majorité des problèmes connus.

  • Les anciennes fonctions et les autres objets de contrib/tsearch2 doivent être supprimés lors du chargement d'une sauvegarde pg_dump provenant d'une version antérieure à la 8.3. Bien que beaucoup des objets ne sont pas chargés de toute façon, certains le sont et peuvent causer des problèmes. La façon la plus simple de gérer ceci est de charger seulement le module contrib/tsearch2 avant la restauration de la sauvegarde ; cela bloquera la restauration des anciens objets.

  • Le paramétrage de la configuration de la recherche plein texte est complètement différent maintenant. Au lieu d'insérer manuellement des lignes dans les tables de configuration, la recherche se configure avec des commandes SQL spécialisées indiquées dans tout ce chapitre. Il n'existe pas de support automatisé pour convertir une configuration personnalisée existante pour la 8.3. Vous devez vous en occuper manuellement.

  • Le plupart des types de dictionnaires repose sur certains fichiers de configuration en dehors de la base de données. Ils sont largement compatibles pour une utilisation pre-8.3, mais notez malgré tout les différences qui suivent :

    • Les fichiers de configuration doivent être placés dans le répertoire $SHAREDIR/tsearch_data, et doivent avoir une extension spécifique dépendant du type de fichier, comme indiqué précédemment dans les descriptions des différents types de dictionnaires. Cette restriction a été ajoutée pour éviter des problèmes de sécurité.

    • Les fichiers de configuration doivent être encodés en UTF-8, quelque soit l'encodage utilisé par la base de données.

    • Dans les fichiers de configuration du thésaurus, les termes courants doivent être marqués avec ?.