PostgreSQL フルテキストインデックスを生成する
## 概要
PostgreSQLにてバージョン1.4.6以前をご利用のお客様で、[横断検索](/ja/manual/crosssearch)の利用や[検索:検索の種類](/ja/manual/table-management-search-type)で「フルテキスト」を選択する場合は、本手順でフルテキストインデックスを作成してください。フルテキストインデックスを作成することで[横断検索](/ja/manual/crosssearch)や[検索:検索の種類](/ja/manual/table-management-search-type)で「フルテキスト」を選択したテーブルのフリーテキスト検索のパフォーマンスが向上しますが、更にパフォーマンスを向上したい場合はサーバの性能向上なども検討ください。
## 注意事項
1. プリザンターの構成やデータの件数によって、フルテキストインデックスを生成するSQLの実行に時間がかかる場合があります。
## 前提条件
1. バージョン1.4.6以前をご利用のお客様で、データベースがPostgreSQLの環境が対象となります。SQL Serverを利用した環境やバージョン1.4.7以降で新規インストールした場合は対象外です。
## 設定手順
1. プリザンターのデータベースに接続し、下記のSQLを実行してください。検索結果が1件以上表示される場合、既にフルテキストカラムに対するインデックスが生成されているため、以降の手順は不要です。
##### SQL
```sql
select * from pg_indexes where tablename = 'Items' and indexdef like '%FullText%';
```
1. プリザンターが導入されているサーバーへログインし、 プリザンターを停止してください。
1. プリザンターのデータベースに「Implem.Pleasanter_Owner」でログインして接続しください。
##### CMD
```
# psql -U Implem.Pleasanter_Owner -d Implem.Pleasanter -p 5432
```
1. 下記のSQLを実行して、フルテキストインデックスを生成します。
##### SQL
```sql
create index "ftx" on "Items" using gin ("FullText" gin_trgm_ops);
```
1. 下記のSQLを実行して、フルテキストインデックスが生成されていることを確認してください。下図の通り検索結果が表示されている場合、フルテキストインデックスが生成されています。
##### SQL
```sql
select * from pg_indexes where tablename = 'Items' and indexdef like '%FullText%';
```
![image](https://pleasanter.org/binaries/d9aa188fabec46afaa592fee697174f9)
1. プリザンターを開始してください。PostgreSQLの再起動は不要です。