テキスト検索のためにtsearch2モジュールを使っていたアプリケーションは、組み込みの機能に対して多少の調整が必要になります。
いくつかの関数は名前が変わり、引数が変更され、すべてpg_catalog
スキーマに入りました。以前はこれらの関数はpublic
か、あるいはほかのシステム用でないスキーマに格納されていました。新しいバージョンのtsearch2が、この種の互換性問題を解決するためのレイヤーとして提供されています。
古いtsearch2関数と、その他のオブジェクトは、8.3以前のデータベースのダンプをロードする際に、無効にしておかなければなりません。ほとんどのものはどのみちロードできませんが、2, 3ロードされ、悪さをするものがあります。この問題に対処する簡単な方法は、ダンプファイルをリストアする前に、新しいtsearch2モジュールをロードしておくことです。そうすれば、古いオブジェクトがロードされるのを防ぐことができます。
テキスト検索設定をセットアップする方法がまったく変わりました。設定テーブルに手動で行を挿入する代わりに、この章の最初の方で説明した特別なSQLコマンドを使って設定するようになりました。既存の設定を8.3用に自動的に変換する方法は提供されていません。自分でやってください。
ほとんどの形式の辞書はデータベース外の設定ファイルに依存しています。これらは8.3以前の使い方と概ね互換性がありますが、一部以下のような違いがあります。
設定ファイルは、単一のディレクトリ($SHAREDIR/tsearch_data
)に格納しておかなければなりません。そして、以前いろいろな種類の辞書形式について述べたように、その種類に応じて特定の拡張子を持たなければなりません。この制限はあらかじめセキュリティ上の問題を考慮して追加されました。
設定ファイルは、データベースエンコーディングが何であろうと、UTF-8エンコーディングで符号化しておかなければなりません。
同義語辞書設定ファイルでは、ストップワードは?
でマークしておかなければなりません。