おしらせ

4.0.5: 2025-12-12

改良

セマンティックサーチをサポート

セマンティック検索が利用可能になりました。

まだ実験的な機能です。

インデックスの作成方法と検索方法については、以下のドキュメントをご覧ください。

pgroonga_language_model_vectorize()関数を追加

まだ実験的な機能です。

この関数は指定されたテキストの正規化されたエンべディングを返します。

修正

LIKEまたはILIKEORを使ったときにPGroongaがレコードを返さない問題を修正

GH-916

kurita0さんの報告。

PostgreSQLがseqscanを選択した場合は、この問題は発生しません。 この問題は、以下のようにPostgreSQLがindexscanまたはbitmapscanを選択した際に発生します。

CREATE TABLE memos (
  id integer,
  content text
);

INSERT INTO memos VALUES (1, 'PostgreSQL is a RDBMS.');
INSERT INTO memos VALUES (2, 'Groonga is fast full text search engine.');
INSERT INTO memos VALUES (3, 'PGroonga is a PostgreSQL extension that uses Groonga.');

CREATE INDEX grnindex
    ON memos
 USING pgroonga (content pgroonga_text_full_text_search_ops_v2)
  WITH (tokenizer='TokenNgram("unify_alphabet", false)');

SET enable_seqscan = off;
SET enable_indexscan = on;
SET enable_bitmapscan = off;

EXPLAIN (COSTS OFF)
SELECT id, content
  FROM memos
 WHERE content LIKE 'Po%' OR content LIKE 'Gr%';
                      QUERY PLAN                      
------------------------------------------------------
 Index Scan using grnindex on memos
   Index Cond: (content ~~ ANY ('{Po%,Gr%}'::text[]))
(2 rows)

SELECT id, content
  FROM memos
 WHERE content LIKE 'Po%' OR content LIKE 'Gr%';
 id | content
----+---------
(0 rows)

SET enable_seqscan = off;
SET enable_indexscan = off;
SET enable_bitmapscan = on;

EXPLAIN (COSTS OFF)
SELECT id, content
  FROM memos
 WHERE content LIKE 'Po%' OR content LIKE 'Gr%';
                               QUERY PLAN                               
------------------------------------------------------------------------
 Bitmap Heap Scan on memos
   Recheck Cond: ((content ~~ 'Po%'::text) OR (content ~~ 'Gr%'::text))
   ->  Bitmap Index Scan on grnindex
         Index Cond: (content ~~ ANY ('{Po%,Gr%}'::text[]))
(4 rows)

SELECT id, content
  FROM memos
 WHERE content LIKE 'Po%' OR content LIKE 'Gr%';
 id | content
----+---------
(0 rows)

感謝

4.0.4: 2025-10-02

改良

PostgreSQL 18をサポート

PostgreSQL 18向けのパッケージを提供しました。

[Debian] Debian GNU/Linux trixieをサポート

Debian GNU/Linux trixie 向けのパッケージを提供しました。

[AlmaLinux] AlmaLinux 10をサポート

AlmaLinux 10向けのRPMパッケージを提供しました。

[AlmaLinux] AlmaLinux 9のPostgreSQL 14をサポート

Almalinux 9のPostgreSQL 14向けのパッケージを提供出来ていなかったため、提供しました。

PostgreSQL 18でソート済みインデックススキャンをサポート

GH-771

PostgreSQL 18以降で、PostgreSQLのプランナはPGroongaをソート可能なインデックスとして認識できるようになりました。

WHERE ... ORDER BY ... LIMITのようなクエリで、PGroongaで絞り込みとソート済みのレコードをPostgreSQLに返すことができます。 これにより、多くのレコードがマッチするときの応答時間の改善が見込めます。

CREATE TABLE messages (
  id serial,
  content text
);

CREATE INDEX messages_index ON messages
  USING PGroonga (content, id);

INSERT INTO messages (content)
  SELECT content FROM (SELECT 'a' AS content, generate_series(0, 9999)) AS values;
INSERT INTO messages (content)
  SELECT content FROM (SELECT 'b' AS content, generate_series(0, 9999)) AS values;
INSERT INTO messages (content)
  SELECT content FROM (SELECT 'c' AS content, generate_series(0, 9999)) AS values;

EXPLAIN ANALYZE VERBOSE
  SELECT * FROM messages
    WHERE content = 'b'
    ORDER BY id DESC LIMIT 10;
--                                                                        QUERY PLAN
-- --------------------------------------------------------------------------------------------------------------------------------------------------------
--  Limit  (cost=0.00..6.67 rows=10 width=36) (actual time=0.385..0.389 rows=10.00 loops=1)
--    Output: id, content
--    Buffers: shared hit=1
--    ->  Index Scan Backward using messages_index on public.messages  (cost=0.00..100.02 rows=150 width=36) (actual time=0.384..0.387 rows=10.00 loops=1)
--          Output: id, content
--          Index Cond: (messages.content = 'b'::text)
--          Index Searches: 0
--          Buffers: shared hit=1
--  Planning:
--    Buffers: shared hit=35
--  Planning Time: 5.679 ms
--  Execution Time: 0.438 ms
-- (12 rows)

4.0.2: 2025-09-12

改良

最新のDockerイメージを公開

Dockerイメージを更新し、最新のPostgreSQLリリースバージョンに対応しました。対応バージョンは次のとおりです。

4.0.1: 2025-02-14

This is a bug fix release.

改良

Dropped support for Ubuntu 20.04

GH-709

Because Ubuntu 20.04 will reach EOL on 2025-05.

修正

Fixed an upgrade bug

GH-713

It depends on initial PGroonga version you installed whether this happens or not. If you installed PGroonga 2.4.1 or earlier as the initial version, this will happen. There was a bug in 2.4.1 to 2.4.2 upgrade code. pgroonga.snippet_html() signature wasn't upgraded.

If you installed PGroonga 2.4.1 or earlier as the initial version, you can ALTER EXTENSION pgroonga UPGRADE without error with 4.0.1.

If you installed PGroonga 2.4.2 or later as the initial version, you don't need 4.0.1. 4.0.0 works.

Reported by Tim Abbott. Thanks!!!

感謝

4.0.0: 2025-02-09

This is a major release!

This release includes backward incompatibility changes. But they are affected to only users who still use PGroonga 1 API (pgroonga.XXX API). PGroonga 1 API was deprecated when we released PGroonga 2.0.0 on 2017-08-17. It's about 8 years ago. We hope that nobody is still using PGroonga 1 API.

If you're still using PGroonga 1 API, you should migrate to PGroonga 2.0.0 or API (pgroonga.XXX -> pgroonga_XXX) before you upgrade to PGroonga 4.0.0.

改良

修正

感謝

3.2.5: 2024-12-05

改良

修正

3.2.4: 2024-10-03

改良

3.2.3: 2024-09-25

改良

修正

感謝

3.2.2: 2024-08-05

改良

修正

3.2.1: 2024-07-04

改良

修正

3.2.0: 2024-04-18

修正

3.1.9: 2024-03-27

改良

3.1.8: 2024-02-27

修正

3.1.7: 2024-02-05

改良

修正

3.1.6: 2024-01-10

改良

修正

感謝

3.1.5: 2023-09-29

修正

3.1.4: 2023-09-29

改良

3.1.3: 2023-08-17

修正

3.1.2: 2023-08-09

改良

修正

3.1.1: 2023-07-25

改良

3.1.0: 2023-07-12

改良

修正

3.0.9: 2023-07-03

改良

3.0.8: 2023-06-22

改良

3.0.7: 2023-06-13

改良

感謝

3.0.6: 2023-06-01

改良

修正

3.0.5: 2023-05-31

改良

修正

3.0.4: 2023-05-29

改良

修正

3.0.3: 2023-05-18

修正

感謝

3.0.2: 2023-05-11

修正

感謝

3.0.1: 2023-04-27

改良

修正

感謝

3.0.0: 2023-04-13

改良

感謝

2.4.7: 2023-03-27

改良

修正

感謝

2.4.6: 2023-03-24

改良

感謝

2.4.5: 2023-03-06

修正

感謝

2.4.4: 2023-01-29

改良

2.4.3: 2023-01-06

改良

修正

感謝

2.4.2: 2022-11-29

改良

修正

既知の問題

感謝

2.4.1: 2022-10-28

改良

感謝

2.4.0: 2022-10-07

改良

感謝

2.3.9: 2022-09-14

修正

2.3.8: 2022-08-08

改良

感謝

2.3.7: 2022-06-07

2.3.6: 2022-03-17

修正

2.3.5: 2022-03-09

改良

修正

感謝

2.3.4: 2021-11-09

改良

修正

2.3.3: 2021-11-05

改良

2.3.2: 2021-10-04

改良

修正

2.3.1: 2021-08-05

PGroonga requires Groonga 11.0.5 since this version.

改良

感謝

2.3.0: 2021-05-14

改良

修正

感謝

2.2.9: 2021-04-04

改良

感謝

2.2.8: 2020-12-27

改良

修正

感謝

2.2.7: 2020-11-10

改良

修正

感謝

2.2.6: 2020-07-01

NOTE: If you have PGroonga index for jsonb, you need to reindex all your PGroonga indexes for jsonb after you upgrade to this version. This version has a fix for jsonb.

改良

修正

感謝

2.2.5: 2020-03-12

修正

2.2.4: 2020-03-12

修正

感謝

2.2.3: 2020-03-11

改良

修正

感謝

2.2.2: 2019-11-14

改良

修正

2.2.1: 2019-07-19

改良

修正

2.2.0: 2019-06-05

改良

2.1.9: 2019-05-08

改良

2.1.8: 2019-01-11

改良

2.1.7: 2018-12-25

改良

修正

感謝

2.1.6: 2018-10-18

改良

修正

感謝

2.1.4: 2018-09-18

改良

感謝

2.1.3: 2018-09-11

改良

修正

感謝

2.1.2: 2018-08-23

改良

修正

2.1.1: 2018-08-08

修正

2.1.0: 2018-08-08

改良

修正

感謝

2.0.9: 2018-07-04

修正

2.0.8: 2018-07-03

改良

2.0.7: 2018-06-07

改良

修正

2.0.6: 2018-05-14

改良

修正

感謝

2.0.5: 2018-04-04

改良

修正

2.0.4: 2018-03-22

改良

感謝

2.0.3: 2018-03-08

改良

修正

感謝

2.0.2: 2017-10-10

改良

修正

感謝

2.0.1: 2017-08-17

修正

2.0.0: 2017-08-17

This is the second major release! It's upgradable from 1.X! 2.X is backward compatible with 1.X!

改良

修正

感謝

1.2.3: 2017-07-03

修正

1.2.2: 2017-07-03

改良

感謝

1.2.1: 2017-06-08

改良

修正

感謝

1.2.0: 2017-04-29

改良

修正

1.1.9: 2016-11-30

改良

修正

1.1.8: 2016-11-09

改良

1.1.7: 2016-11-03

修正

1.1.6: 2016-11-03

改良

修正

感謝

1.1.5: 2016-10-22

改良

修正

感謝

1.1.4: 2016-10-08

改良

修正

感謝

1.1.3: 2016-09-29

改良

修正

感謝

1.1.2: 2016-09-07

改良

修正

感謝

1.1.1: 2016-08-31

改良

修正

感謝

1.1.0: 2016-06-06

改良

1.0.9: 2016-06-02

改良

1.0.8: 2016-05-21

改良

修正

感謝

1.0.7: 2016-04-24

改良

1.0.6: 2016-04-15

改良

感謝

1.0.5: 2016-03-01

修正

1.0.4: 2016-03-01

修正

1.0.3: 2016-02-29

改良

修正

感謝

1.0.2: 2016-02-09

改良

修正

感謝

1.0.1: 2015-12-29

改良

修正

感謝

1.0.0: 2015-10-29

It's the first major release!!!

You need to run DROP EXTENSION pgroonga CASCADE, upgrade PGroonga binary, run CREATE EXTENSION pgroonga and create indexes again to upgrade to 1.0.0 from older versions.

改良

感謝

0.9.0: 2015-09-29

You can update to 0.9.0 from 0.8.0 by override install and executing the following SQL:

ALTER EXTENSION pgroonga UPDATE;

You don't need to re-create pgroonga indexes.

改良

0.8.0: 2015-09-01

You can update to 0.8.0 from 0.7.0 by override install. You don't need to re-create pgroonga indexes.

改良

感謝

0.7.0: 2015-07-10

You can update to 0.6.0 from 0.5.0 by override install. You don't need to re-create pgroonga indexes.

改良

修正

0.6.0: 2015-05-29

You can update to 0.6.0 from 0.5.0 by override install. You don't need to re-create pgroonga indexes.

改良

修正

0.5.0: 2015-04-29

You can't upgrade to 0.5.0 from 0.4.0 without re-creating pgroonga index. You need to re-install PGroonga:

DROP EXTENSION pgroonga CASCADE;
CREATE EXTENSION pgroonga;
-- Create your pgroonga indexes again.

改良

変更

0.4.0: 2015-03-29

You can't upgrade to 0.4.0 from 0.3.0 without re-creating pgroonga index. You need to re-install PGroonga:

DROP EXTENSION pgroonga CASCADE;
CREATE EXTENSION pgroonga;
-- Create your pgroonga indexes again.

改良

変更

0.3.0: 2015-02-09

You can't upgrade to 0.3.0 from 0.2.0 without re-creating pgroonga index. You need to re-install PGroonga:

DROP EXTENSION pgroonga CASCADE;
CREATE EXTENSION pgroonga;
-- Create your pgroonga indexes again.

改良

変更

0.2.0: 2015-01-29

The first release!!!