PGroonga (fast full text search module for PostgreSQL) 2.2.5 has been released
PGroonga 2.2.5 has been released! PGroonga makes PostgreSQL fast full text search for all languages.
If you are new user, see also About PGroonga.
Note
PGroonga 2.2.3 and 2.2.4 have below problems. Therefore please don't use them.
-
PGroonga 2.2.3
- This version fails to install packages for Debian and Ubuntu. Because these packages fail to resolve the dependency.
-
PGroonga 2.2.4
- This version fails to upgrade using
ALTER EXTENSION pgroonga UPDATE;
.
- This version fails to upgrade using
Highlight
Here are highlights after PGroonga 2.2.2:
-
Added support for
CREATE TABLE
,CREATE INDEX
, andTRUNCATE
in the same transaction. -
Regulated the number of estimated search cost of PGroonga's index for easy to select it when searched records.
- In particular, PostgreSQL choice PGroonga's index when the record includes many same tokens.
-
Fixed a bug that we failed to upgrade to PGroonga 2.2.4.
-
Fixed a bug that execution of the query that had not conditional expression failed if the table had only jsonb index of PGroonga.
-
Fixed a bug that the sequential scan occurred error when we used Groonga library (
libgroonga
) version 10.0.0 or later.
Added support for CREATE TABLE
, CREATE INDEX
, and TRUNCATE
in the same transaction.
By until before versions, TRUNCATE
failed when we make the index of PGroonga and execute TRUNCATE
in the same transaction.
For example, TRUNCATE
failed if below case.
BEGIN TRANSACTION;
CREATE EXTENSION IF NOT EXISTS pgroonga;
CREATE TABLE test (
id SERIAL PRIMARY KEY,
content text
);
CREATE INDEX test_id ON test USING pgroonga (content);
TRUNCATE TABLE test CASCADE;
COMMIT;
Fixed a bug that execution of the query that had not conditional expression failed if the table had only jsonb index of PGroonga.
For example, SELECT COUNT(*)
failed if below case.
CREATE TABLE logs (
record jsonb
);
CREATE INDEX pgroonga_index ON logs
USING pgroonga (record pgroonga_jsonb_ops_v2);
INSERT INTO logs VALUES ('{}');
SET enable_seqscan = off;
SELECT count(*) FROM logs;
Fixed a bug that the sequential scan occurred error when we used Groonga library ( libgroonga
) version 10.0.0 or later.
This problem didn't occur if we installed a package for PGroonga. Only when it occurred if we installed PGroonga and Groonga that built from source.
For example, SELECT
failed if below case.
CREATE TABLE memos (
content varchar(256)
);
INSERT INTO memos VALUES ('Green apple');
INSERT INTO memos VALUES ('Apple');
CREATE INDEX pgrn_index ON memos
USING pgroonga (content pgroonga_varchar_full_text_search_ops_v2);
SET enable_seqscan = on;
SET enable_indexscan = off;
SET enable_bitmapscan = off;
SELECT content, pgroonga_score(tableoid, ctid)
FROM memos
WHERE content &@~ 'Apple';
We can confirm version of libgroonga
by below query.
SHOW pgroonga.libgroonga_version;
pgroonga.libgroonga_version
-----------------------------
10.0.0
(1 row)
How to upgrade
This version is compatible with before versions. You can upgrade by steps in "Compatible case" in Upgrade document.
Conclusion
Try PGroonga when you want to perform fast full text search against all languages on PostgreSQL!