アップグレード

新しいバージョンのPGroongaが非互換の変更を含んでいない場合はPGroongaのインデックスを再作成せずにアップグレードできます。新しいバージョンが1つでも非互換の変更を含んでいればPGroongaをアップグレードする際にすべてのPGroongaのインデックスを再作成する必要があります。

以下は互換性のリストです。「✓」は「互換」、「✕」は「非互換」という意味です。

アップグレード元バージョン アップグレード先バージョン 互換? 補足
4.0.04.0.1
4.0.0 4.0.0 PGroonga 2.0.0以降で非推奨になったpgroongaスキーマを使っていなければ互換です。「互換性がある場合」の手順でアップグレードできます。まだpgroongaスキーマを使っている場合は、4.0.0にアップグレードする前にpgroonga.*APIからpgroonga_*APIに移行しなければなりません。
3.2.43.2.5
3.2.33.2.4
3.2.33.2.4
3.2.23.2.3
3.2.13.2.2
3.2.03.2.1
3.1.93.2.0
3.1.83.1.9
3.1.73.1.8
3.1.63.1.7
3.1.53.1.6
3.1.43.1.5
3.1.33.1.4
3.1.23.1.3
3.1.13.1.2
3.1.03.1.1
3.0.93.1.0
3.0.83.0.9
3.0.73.0.8
3.0.63.0.7
3.0.53.0.6
3.0.43.0.5
3.0.33.0.4
3.0.23.0.3
3.0.13.0.2
3.0.03.0.1
2.4.7 3.0.0 v1 APIを使っていない場合は互換です。つまり、多くのユーザーは互換なはずです。
2.4.62.4.7
2.4.52.4.6
2.4.42.4.5
2.4.32.4.4
2.4.22.4.3
2.4.12.4.2
2.4.02.4.1
2.3.92.4.0
2.3.82.3.9
2.3.72.3.8
2.3.62.3.7
2.3.52.3.6
2.3.42.3.5
2.3.32.3.4
2.3.22.3.3
2.3.12.3.2
2.3.02.3.1
2.2.92.3.0
2.2.82.2.9
2.2.72.2.8
2.2.62.2.7
2.2.5 2.2.6

ただし、jsonbを使ったPGroongaのインデックスがある場合は再作成する必要があります。

2.2.42.2.5
2.2.32.2.4
2.2.22.2.3
2.2.12.2.2
2.2.02.2.1
2.1.92.2.0
2.1.82.1.9
2.1.72.1.8
2.1.62.1.7
2.1.42.1.6
2.1.32.1.4
2.1.22.1.3
2.1.12.1.2
2.1.02.1.1
2.0.92.1.0
2.0.82.0.9
2.0.72.0.8
2.0.62.0.7
2.0.5 2.0.6

ただし、timestamp (without time zone)を使ったPGroongaのインデックスがある場合は再作成する必要があります。

2.0.42.0.5
2.0.32.0.4
2.0.2 2.0.3

ただし、timestamp (without time zone)を使ったPGroongaのインデックスがある場合は再作成する必要があります。

ただし、pgroonga_text_array_full_text_search_ops_v2演算子クラスを使ったPGroongaのインデックスがある場合は再作成する必要があります。

2.0.12.0.2
2.0.02.0.1
1.2.32.0.0
1.2.21.2.3
1.2.11.2.2
1.2.01.2.1
1.1.91.2.0
1.1.81.1.9
1.1.71.1.8
1.1.61.1.7
1.1.51.1.6
1.1.41.1.5
1.1.31.1.4
1.1.21.1.3
1.1.11.1.2
1.1.01.1.1
1.0.91.1.0
1.0.81.0.9
1.0.71.0.8
1.0.61.0.7
1.0.51.0.6
1.0.41.0.5
1.0.31.0.4
1.0.21.0.3
1.0.11.0.2
1.01.0.1
0.91.0
0.80.9
0.70.8

非互換の場合

アップグレード手順は次の通りです。

  1. すべてのPGroongaを使ったインデックスを削除します。

  2. PGroonga拡張を削除します。

  3. PGroongaのバイナリーをアップグレードします。

  4. PGroonga拡張をインストールします。

  5. すべてのPGroongaのインデックスを作り直します。

すべてのPGroongaのインデックスを削除して、PGroonga拡張も削除するSQLは次の通りです。

DROP EXTENSION pgroonga CASCADE;

PGroongaのバイナリーはパッケージでアップグレードできます。あるいは、新しいPGroongaをビルドして古いPGroongaに上書きすることでもアップグレードできます。

PGroonga拡張をインストールするSQLは次の通りです。

CREATE EXTENSION pgroonga;

PGroongaを使ってインデックスを作るにはCREATE INDEX USING pgroongaを使ってください。

互換性がある場合

アップグレード手順は次の通りです。

  1. PGroongaを使っているすべてのデータベースへの接続を切断します。

  2. PGroongaのバイナリーをアップグレードします。

  3. PGroongaを使っているデータベースに接続します。

  4. PGroonga拡張をアップグレードします。

PGroongaのバイナリーはパッケージでアップグレードできます。あるいは、新しいPGroongaをビルドして古いPGroongaに上書きすることでもアップグレードできます。

PGroongaをアップグレードするSQLは次の通りです。

ALTER EXTENSION pgroonga UPDATE;

もしpgroonga_databaseモジュールを使っているなら、次のSQLを実行してpgroonga_databaseモジュールをアップグレードする必要があります。

ALTER EXTENSION pgroonga_database UPDATE;

参考