Upgrade

You can upgrade PGroonga without recreating PGroonga indexes when new version doesn't have any backward incompatible change. If new version has any backward incompatible change, you need to recreate all PGroonga indexes to upgrade PGroonga.

Here is a list of compatibility ("✓" means "compatible" and "✕" means "incompatible"):

From To Compatible? Note
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 If you don't use v1 API, this is compatible. So most users must be compatible.
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

But you need to recreate your PGroonga indexes that use jsonb.

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

But you need to recreate your PGroonga indexes that use timestamp (without time zone)

2.0.42.0.5
2.0.32.0.4
2.0.2 2.0.3

But you need to recreate your PGroonga indexes that use timestamp (without time zone)

But you need to recreate your PGroonga indexes that use pgroonga_text_array_full_text_search_ops_v2 operator class.

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

Incompatible case

Here are steps to upgrade:

  1. Drop all PGroonga indexes.

  2. Drop PGroonga extension.

  3. Upgrade PGroonga binary.

  4. Install PGroonga extension.

  5. Create all PGroonga indexes again.

Here is a SQL that drops all PGroonga indexes and PGroonga extension:

DROP EXTENSION pgroonga CASCADE;

You can upgrade PGroonga binary by package. Or you can upgrade by building new PGroonga and override old PGroonga.

Here is a SQL that install PGroonga extension:

CREATE EXTENSION pgroonga;

Use CREATE INDEX USING pgroonga to create PGroonga indexes.

Compatible case

Here are steps to upgrade:

  1. Disconnect from all databases that use PGroonga.

  2. Upgrade PGroonga binary.

  3. Connect to a database that uses PGroonga.

  4. Upgrade PGroonga extension.

You can upgrade PGroonga binary by package. Or you can upgrade by building new PGroonga and override old PGroonga.

Here is a SQL that upgrades PGroonga:

ALTER EXTENSION pgroonga UPDATE;

If you're using pgroonga_database module, you also need to run the following SQL to upgrade pgroonga_database module:

ALTER EXTENSION pgroonga_database UPDATE;

See also