アップグレード

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

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

アップグレード元バージョン アップグレード先バージョン 互換? 補足
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;

参考