[pgroonga.log_rotate_threshold_size
parameter][pgroonga.query_log_rotate_threshold_size
parameter] Added pgroonga.*log_rotate_threshold_size
parameter. [GH-532]
It is available in Groonga 14.0.7 or later.
Fixed a build error when we build Homebrew's PGroonga from source in combination with Postgres.app. [GH-531][Reported by siyukatu]
Fixed a bug that log_level
is not reflected when we specify pgroonga.log_type = postgresql
.
[pgroonga_wal_resource_manager
module] Added information to log.
Dropped support for Debian 11 (bullseye).
[pgroonga_condition()
] Fixed a bug that occurred when upgrading to 3.2.1 with PGroonga installed.
The following error occurred:
HINT: Could not choose a best candidate function. You might need to add explicit type casts.
ERROR: function pgroonga_condition(unknown) is not unique
[pgroonga_wal_resource_manager
module] Added a new module pgroonga_wal_resource_manager
Added support downgrade by using ALTER EXTENSION ... UPDATE
.
Note that this feature only enable 3.2.1, currently. This feature can't use before 3.2.1.
[pgroonga_list_broken_indexes()
] Added a new function pgroonga_list_broken_indexes()
.
This function list the indexes of PGroonga's that may be broken.
[pgroonga_crash_safer
module] Putted index names when the pgroonga-crash-safer
rebuild index in log.
[WAL] Added support for registering a plugin.
plugin = '...'
in WITH
phrase is also written into PGroonga's WAL.
[pgroonga_list_lagged_indexes()
] Added a new function pgroonga_list_lagged_indexes()
.
This function display a index of PGroonga with unapplied PGroonga WAL (not PostgreSQL WAL).
[pgroonga-primary-maintainer.sh
] Added a new execution file pgroonga-primary-maintainer.sh
.
This command is used to suppress the size of PGroonga WAL on the primary server where WAL is enabled.
Also added execution file to configure systemd timer.
[Ubuntu] Added support for Ubuntu 24.04 (Noble Numbat).
[pgroonga_condition()
] Added support fuzzy_max_distance_ratio
[&@~
operator] Fixed a crash bug with multiple conditions including blank only query condition.
An error will occur if any of the multiple conditions have a blank space condition as below.
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);
SELECT id, content
FROM memos
WHERE content &@~ pgroonga_condition('PGroonga') AND
content &@~ pgroonga_condition(' ');
Fixed a crash bug related to auto vacuum
This is happen when:
If you're lucky, this may not cause a crash. But the following errors may be happen:
Fixed a crash on connection close.
This occurred when the connection was closed "during a transaction and when releasing resources for a sequential search".
This was caused by a callback being run to release a sequential search resource even though all resources had already been released.
Fixed unregistration of callbacks that are no longer needed when releasing all resources.
pgroonga_crash_safer.max_recovery_threads
parameter to pgroonga-crash-safer
.Fixed a crash bug when the last cached sequential search datum was vacuumed that is happen every 100 queries.
Note that "vacuum" here is PGroonga internal vacuum only for sequential search datum. It's not PostgreSQL's vacuum.
For example, we are crashed PGroonga by executing in the following procedure.
We send the following query to PostgreSQL.
SELECT WHERE content &@ ('hello', null, 'memos_index')::pgroonga_full_text_search_condition;
.
We send hundred non PGroonga's sequential search related queries such as SELECT 1;
.
We send the query same as 1. to PostgreSQL again.
pgroonga-crash-safer
is flushing.pgroonga_highlight_html
function] Fixed a bug that PGroonga may crash if valid index name is specified and then an invalid index name is specified.Added a new script for setting up the build environment. [GitHub#358][Patched by askdkc]
Added a new option pgroonga.enable_row_level_security
.
If we disabled pgroonga.enable_row_level_security
, PGroonga might improve performance.
However, it has a security risk.
So, we must not disable this option when we use RLS. We must check whether we don't use RLS before we disable this.
Added new type pgroonga_condition
and new function pgroonga_condition()
.
pgroonga_full_text_search_condition
type and pgroonga_full_text_search_condition_with_scorers
type are deprecated.
We use pgroonga_condition
type instead.
Here is the signature of pgroonga_condition()
.
pgroonga_condition(query text,
weights int[],
scorers text[],
schema_name text,
index_name text,
column_name text)
Fixed a bug if we update PGroonga from 2.4.1 to 2.4.2, we can't use pgroonga_snippet_html()
. [Reported by takadat]
Fixed a bug if we specify non PostgreSQL's table as the first argument of pgroonga_query_expand()
, PGroonga crashes as below.
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
CREATE SERVER remote_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'localhost', port '5432', dbname 'remote_database');
CREATE FOREIGN TABLE synonym_groups (
synonyms text[]
) SERVER remote_server;
SELECT pgroonga_query_expand('synonym_groups',
'synonyms',
'synonyms',
'groonga');
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
Fixed a bug if many error occured in PGroonga, PostgreSQL might consume all error stack and PANIC.
This problem might occure since PGroonga 2.3.3.
pgroonga_highlight_html
function] [&@~
operator and so on for sequential search] Fixed a crash
bug when nonexistent attribute name in the index is specified.Added support for PostgreSQL 16.
Dropped support for Amazon Linux 2.
Added tokenizer_mapping
option that can be used to customize
tokenizer for each indexed target.
[&`
operator] Raised an error for sequential
scan explicitly.
[pgroonga_highlight_html
function] [&@~
operator and so on for sequential search] Added support
for specifying full index name to use the specific index's
configuration.
pgroonga_highlight_html
function: Fixed a
crash bug. This may be occurred only when you use
NormalizerTable
in your index and specify the index that uses
NormalizerTable
.
Fixed a bug that PGroonga WAL may not be applied on standbys.
This isn't caused by broken PGroonga WAL. So you can fix this problem by just upgrading your PGroonga to 3.1.3 or later.
[Crash safe] Added support for resetting WAL applied position automatically on startup only on primary.
Note that this is not done on standbys because WAL applied position may not be the latest on standbys.
[pgroonga_standby_maintainer.max_parallel_wal_appliers_per_db
parameter]
Added support for parallel WAL application.
NormalizerTable
in your index and specify the index
that uses NormalizerTable
by
pgroonga_full_text_search_condition
or
pgroonga_full_text_search_condition_with_scorers
.Required Groonga 13.0.2 or later.
Added support for backtrace on abort()
.
VACUUM
including auto VACUUM
is used.pgroonga_query_expand
function] Added support
for trace log.[&=~
operator] Added support for
pgroonga_full_text_search_condition
to use an index options in
sequential search too.
[pgroonga.enable_trace_log
parameter] Added
support for trace log.
Improved error handling on sequential search.
[pgroonga_query_expand
function] Used
AnyArrayType
API instead of ArrayType
API again because it
doesn't have a problem.
[pgroonga_score
function] Improved performance when HOT
doesn't exist.
GH-346 [Reported by Michael Fester]
[Windows] Required CMake 3.16 or later on build.
pgroonga_wal_set_applied_position
function:
Added support for declarative partitioning with PostgreSQL < 15.
VACUUM
: Added support for removing broken objects forcibly.
pgroonga_highlight_html
function: Rejected
parent index of declarative partitioning explicitly.
SELECT
/INSERT
/DELETE
/UPDATE
while REINDEX CONCURRENTLY
.VACUUM
including
autovacuum
is finished while index scan is executed.pgroonga_query_expand
function] Reverted using
AnyArrayType
API instead of ArrayType
API because it seems
that it's needless.pgroonga_query_expand
function] Fixed a crash
bug when synonyms array includes a NULL
element.Fixed a bug that PGroonga may have crashed when PGroonga writed PGroonga's WAL.
GH-336: Fixed a bug that PGroonga crashed if we specify shared_preload_libraries = 'pgroonga'
in the PostgreSQL's config file. [Reported by askdkc and Rui Chen]
PGroonga doesn't crash even if we specify shared_preload_libraries = 'pgroonga'
by this modification.
However, if we specify shared_preload_libraries = 'pgroonga'
, PGroonga doesn't work well.
For example, CREATE INDEX USING pgroonga
is failed.
However, probably, old PGroonga also has not worked well with shared_preload_libraries = 'pgroonga'
.
Because we don't have a timing that initializes Groonga's DB.
Therefore, we don't specify shared_preload_libraries = 'pgroonga'
in the PostgreSQL's config file.
Fixed a bug that PGroonga may crash when we used pgroonga_query_expand()
.
However, probably, this problem rarely occur.
Fixed a bug that SELECT
using PGroonga's index may fail after PostgreSQL crashed while execution INSERT
.
However, probably, this problem rarely occur.
GH-331: Fixed a bug that many compile errors rised when we did not not define HAVE_MSGPACK
in src/pgrn-wal.c
. [Reported by OBATA Akio]
This problem only occures when we build PGroonga from sources.
[pgroonga_wal_status
function] Added a newly function pgroonga_wal_status()
.
This function display a status of applying PGroonga's WAL.
The maximum size of PGroonga's WAL is limited by pgroonga.max_wal_size
.
If we execute many modification before PGroonga doesn't apply PGroonga's WAL, not applied PGroonga's WAL may lost.
Because PGroonga's WAL is over writed from the head of it when the size of modification over pgroonga.max_wal_size
We understand the size of applied PGroonga's WAL by this function. Therefore we can prevent lost for not applied PGroonga's WAL.
Fixed a bug that dead lock occures when we execute UPDATE
or INSERT
while we execute REINDEX INDEX ... CONCURRENTLY
.
GH-90, GH-117: Fixed a bug that if we repeated REINDEX
and VACUUM
, PGroonga may return incorrect results and fail INSERT
.
For example, if this problem is occurred when INSERT, the following error is raised:
ERROR: pgroonga: [insert] failed to add a record: <75300883>:
[table][add][hash] failed to add:
#<key "\u0013\u0000}\u0004\u0000\u0000\u0000\u0000"
table:#<hash Sources17192 key:ShortText>>
GH-291: Stopped defining v1 compatible operators to the public
schema. Now, you can install PGroonga to non-public
schema (Supabase uses extensions
schema by default) and work without any tricky SQL.
This is a backward incompatible change but most users will not be affected because PGroonga 2.0.0 was released 6 years ago. Most users must not use v1 compatible operators.
GH-308: [pgroonga_query_extract_keywords
function] Added support for query_allow_column=true
by specifying index name.
[Reported by yodhcn]
GH-317: [&=~
operator] Added support for query syntax for text[]
and varchar[]
.
[Reported by yodhcn]
Added a newly support for AlmaLinux 9.
Dropped support for Ubuntu 18.04.
Because Ubuntu 18.04 will reache EOL in April 2023.
CREATE INDEX
against a column of UUID type. [GitHub:GH-305][Reported by ghevge]&^
operator Added support for pgroonga_full_text_search_condition
.
[pgroonga_highlight_html
function] Added support prefix search.
&=
operator Added a newly operator &=
.
We can use custom normalizers with this in exact match search even if PGroonga's index is used or not.
Added support for UUID type. [GitHub#302][Reported by ghevge]
tuning Added a newly documentation for PGroonga's tunung. [GitHub:pgroonga/pgroonga.github.io#99][Patched by askdkc]
streaming-replication Update replication example to use Ubuntu 22.04 and the latest PostgreSQL. [GitHub:pgroonga/pgroonga.github.io#100][Patched by askdkc]
[pgroonga_text_regexp_ops_v2
operator class] Fixed a bug that TokenRegexp isn't used with options. [GitHub#293][Reported by askdkc]
[Crash safe] Fixed a bug that re-index recovery doesn't work.
[pgroonga_wal_apply
function] add target index information to error logs
We can find indexes that failed to apply WAL records of PGroonga by this modification.
[pgroonga_highlight_html
function] Added support for the text[]
type as target
. [GitHub#219][Reported by Kentaro Hayashi]
We can now specify the text[]
type as target
with pgroonga_highlight_html
.
It only supported the text
type for target
before.
A type of a returned value is also text[]
when we specify the text[]
type as target
.
SELECT pgroonga_highlight_html(
ARRAY['one two three', NULL, 'five', 'six three'],
ARRAY['two', 'six']);
-- pgroonga_highlight_html
-- -------------------------------------------------------------------------------------------------------
-- {"one <span class=\"keyword\">two</span> three",NULL,five,"<span class=\"keyword\">six</span> three"}
-- (1 row)
Fixed a bug that PGroonga failed to create an index during executing two-phase commit. [GitHub#269][Reported by Raif Atef]
Published the latest Docker image.
The matched Docker images were not published between 2.3.9 and the current version.
Kentaro Hayashi
Raif Atef
Added support for PostgreSQL 15 on Windows.[GitHub#256][Reported by Raif Atef]
Added support for PostgreSQL 15 on Ubuntu 22.04.
Added a new module pgroonga_standby_maintainer
module executing pgroonga_wal_apply()
and pgroonga_vacuum()
automatically on a standby database.
pgroonga_snippet_html
function Added a new argument, pgroonga_snippet_html
, specifying snippet length dynamically.[GitHub#253][Reported by askdkc][GitHub#255][Patched by askdkc]
VACUUM
fails while we execute two-phase commit. [GitHub#252][Reported by Raif Atef]askdkc
Raif Atef
Added support for PostgreSQL 15.
Dropped support for PostgreSQL 10.
Because PostgreSQL 10 will reach EOL on November 2022.
[&@~
operator for jsonb type] Added translation about how to perform full text search with indexes against jsonb type values.
[GitHub:pgroonga/pgroonga.github.io#83][Patched by askdkc]
Fixed a bug that PGroonga crash when an append node that had "never executed" statue existed in a query plan.
For example, this bug occurred in a following condition.
Added support for Unlogged Table. [GitHub#95][Reported by kurita0]
We can create a index of PGroonga on Unlogged Table.
[Debian] Dropped support for Debian 10 (buster).
Because Debian 10 (buster) reaches EOL in August 2022.
[Ubuntu] Dropped ssupport for Ubuntu 21.10 (Impish Indri).
Because Ubuntu 21.10 reached EOL in July 2022.
[pgroonga-query-expand] Added document for an example of how to search keywords using synonym groups. [GitHub:pgroonga/pgroonga.github.io#71][GitHub:pgroonga/pgroonga.github.io#72][Patched by askdkc]
Add support for pg_stat_progress_create_index
.
We can get the progress for creating an index of PGroonga.
[Windows] Upgraded bundled Groonga to 12.0.4.
[Ubuntu] Added support for Ubuntu 22.04.
[Crash safe] Improved reindex order.
Added support for PostgreSQL 12.5.
REINDEX
failed even if REINDEX
succeed actually.[CentOS] Dropped support for CentOS 8.
Added support for PostgreSQL 15.
[Crash safe] Improved performance.
Added support for parallel vacuum.
Added support for INCLUDE
in CREATE INDEX
.
Added support for INCLUDE
in CREATE INDEX
.
[pgroonga_text_term_search_ops_v2
operator class] Ignored empty terms with warning.
Gitter#6204a9bfced11857f9a1852d[Reported by Zhanzhao (Deo) Liang]
pgroonga_crash_safer
module
Added support for logging backtrace on crash.
[Amazon Linux] Changed to use PostgreSQL package provided by Amazon Linux not PostgreSQL.
[Windows] Upgraded bundled Groonga to 12.0.1.
[Ubuntu] Dropped support for Ubuntu 21.04.
[Ubuntu] Added support for Ubuntu 21.10.
NULL
unexpectedly.EXPLAIN ANALYZE
on sequential search.Added support for row level security.
Dropped support for PostgreSQL 9.6.
Added support for limiting max WAL size:
Added support for crash safe:
Added support for parallel scan.
Added support for parallel scan against declarative partitioning.
[CREATE INDEX USING PGroonga
]
Added index_flags_mapping
option that can be used to customize
index flags for each indexed target.
[CREATE INDEX USING PGroonga
]
Added support for ${table:INDEX_NAME}
substitution in normalizers_mapping
option.
Added support for PostgreSQL 14.
[Ubuntu] Added support for Ubuntu 21.04.
pgroonga_highlight_html
function]
Fixed a bug that a lexicon may not update when we recreate the lexicon.PGroonga requires Groonga 11.0.5 since this version.
[Ubuntu] Added packages for PostgreSQL 11 packages provided by PostgreSQL Global Developer Group. [GitHub#184][Reported by Tim Abbott]
[CREATE INDEX USING PGroonga
]
Added normalizers
option that can be used to customize
normalizers. normalizer
option is deprecated.
[CREATE INDEX USING PGroonga
]
Added normalizers_mapping
option that can be used to customize
normalizer for each indexed target.
[CREATE INDEX USING PGroonga
]
Added support for ${table:INDEX_NAME}
substitution in normalizer
name.
[pgroonga_result_to_recordset
function]
Added support for term indexed column.
[pgroonga_result_to_jsonb_objects
function]
Added support for term indexed column.
[Ubuntu] Dropped support for Ubuntu 20.10.
[Windows] Upgraded bundled Groonga to 11.0.5.
NULL
jsonb
data with partial index may not
return records of NULL
value. [GitHub#181][Reported by Artem][Debian] Dropped support for Debian GNU/Linux buster i386.
[Debian] Added support for arm64.
[Windows] Upgraded bundled Groonga to 11.0.1.
Avoided COUNT(*)
with large value.
[GitHub:clear-code/redmine_full_text_search#96][Reported by ryouma-nagare]
[Ubuntu], [Debian] Added packages for PostgreSQL packages provided by PostgreSQL Global Developer Group.
[Debian] Dropped support for Debian GNU/Linux stretch.
[Ubuntu] Added support for Ubuntu 20.10.
[CentOS] Dropped support for CentOS 6.
[pgroonga.force_match_escalation
parameter]
Added. [GitHub#157][Reported by Hung Nguyen V.]
Similar search functions: Increased cost to ensure using index scan. [GitHub#163][Reported by oyhan]
[Windows] Upgraded bundled Groonga to 10.1.0
[pgroonga_match_positions_byte
function]
Added support for custom normalizer.
[pgroonga_match_positions_character
function]
Added support for custom normalizer.
pgroonga_wal_truncate
function] Fixed a bug
that calling this after large update is failed. This bug was
introduced in 2.2.6. [GitHub#150][Reported by BiscuitsColonel]Hung Nguyen V.
oyhan
BiscuitsColonel
Provided the packages for PostgreSQL 13.
[Windows] Upgraded bundled Groonga to 10.0.8
Added support for using system xxHash by HAVE_XXHASH
Fixed a bug that PGroonga might crash when PostgreSQL wrote WAL.
[Ubuntu], [Debian] Fixed a bug that WAL support was disabled. [GitHub#144][Reported by DeoLeung and zyp-rgb]
Zhanzhao (Deo) Liang
zyp-rgb
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
.
[Ubuntu] Added support for Ubuntu 20.04.
[Ubuntu] Dropped support for Ubuntu 16.04.
Added support for PostgreSQL 13.
Dropped support for PostgreSQL 9.5.
Added support for Postgres-XL. [GitHub#140][Reported by nateekarn-e]
[Windows] Upgraded bundled Groonga to 10.0.4.
Suppressed assertions reported by debug build PostgreSQL. [GitHub#135][Reported by Malt]
[pgroonga_index_name
function] Added.
jsonb
] Fixed a bug that wrong paths are generated for nested
objects/array. You need to reindex all PGroonga indexes for
jsonb
to apply this fix after you upgrade to PGroonga 2.2.6.
[GitHub#137][Reported by Zhanzhao (Deo) Liang]Malt
Zhanzhao (Deo) Liang
nateekarn-e
Fixed a bug that failed update to version 2.2.4.
[jsonb
] Added a workaround for SELECT COUNT(*)
.
[Debian] Fixed wrong PostgreSQL package name.
[Ubuntu] Fixed wrong PostgreSQL package name. [GitHub#128][Reported by Volo Zyko] [Reported by punchagan]
Volo Zyko
punchagan
Added support for CREATE TABLE
, CREATE INDEX
and TRUNCATE
in
the same transaction.
[GitHub#123][Reported by Alex Rudenko]
Reduced the number of estimated size when too much estimated case.
Increased operator cost to 300 from 200.
[jsonb
] Added support for SELECT COUNT(*)
.
Added support for PostgreSQL 12.
Dropped support for PostgreSQL 9.4.
Dropped support for Greenplum.
[Windows] Upgraded bundled Groonga to 9.0.9.
Upgrade bundled xxHash to 0.7.2 from 0.6.2.
[Debian] Added support for Debian GNU/Linux buster.
[Ubuntu] Added support for Ubuntu 19.10.
[Ubuntu] Dropped support for Ubuntu 18.10.
[CentOS] Added support for CentOS 8 but WAL isn't enabled.
Removed needless copyright holders.
[Windows] Upgraded bundled Groonga to 9.0.4.
[&~|
operator] Added.
[!&^|
operator] Added.
Added support for @>
operator to the following
operator classes.
[pgroonga_query_expand
function] Added support
for synonyms only data.
Added support for Groonga 9.0.3.
[Windows] Upgraded bundled Groonga to 9.0.3.
Added operator class for int4[]
. Normally, this isn't
useful. It's useful only when you want to access int4[]
data by
pgroonga_command
function.
Added support for Groonga 9.0.2.
[Windows] Upgraded bundled Groonga to 9.0.2.
[Ubuntu] Added support for Ubuntu 18.10.
[Ubuntu] Added support for Ubuntu 19.04.
[Ubuntu] Dropped support for Ubuntu 14.04.
[Windows] Upgraded bundled Groonga to 8.1.0.
[pgroonga_database
]: Added. It provides
functions that manage PGroonga database. For now,
pgroonga_database_remove
function is only
provided.
[Windows] Upgraded bundled Groonga to 8.0.9.
Added support for PostgreSQL 11.
[pgroonga_tokenize
function] Added a new function
that tokenizes the given text.
[CREATE INDEX USING PGroonga
]
Added support for token filter options.
[pgroonga_normalize
function] Added support for
normalizer options.
[pgroonga_vacuum
function] Added a new function that
removes garbage in Groonga explicitly.
Fixed a crash bug on error in SELECT
.
Fixed a bug that needless records in IndexStatuses
internal
Groonga table on VACUUM
.
[Gitter#5c10aad7e4787d16e3833ffe][Reported by kwata]
Fixed a bug that wrong ctid may be returned in SELECT
.
[GitHub#89][Reported by Daisuke Ando]
[pgroonga_escape
function] Fixed a bug that
pgroonga_escape(float4)
returns wrong result.
kwata
Daisuke Ando
[Windows] Upgraded bundled Groonga to 8.0.7.
Reduces memory usage on multiple sub-selects.
Reduces memory usage on index only scan. [groonga-dev,04684][Reported by Kawakami]
tongsama
Kawakami
[Windows] Upgraded bundled Groonga to 8.0.6.
Added debug logs.
Added a workaround for error by SELECT FOR UPDATE NOWAIT
.
It's a PostgreSQL problem.
[GitHub#80][Reported by dodaisuke]
&@~
operator Added valid index check.
Improved PGroonga index detection for PGroonga < 9.6.
[CREATE INDEX USING PGroonga
]
Added query_allow_column
option to use column:...
syntax in
&@~
.
&@~
by
sequential search with multiple indexes.Added support for PostgreSQL 11.
[pgroonga_score
function] Added missing error checks.
Added more debug logs on insert and delete.
pgroonga_score
function] Fixed a bug that score is 0 when
HOT redirection is occurred.Improved cost estimation.
[Travis CI] Added support for WAL with PGROONGA_MASTER=yes
.
[GitHub#71][Reported by Jason Truesdell]
Added support for closing unused files after recreating indexes. [GitHub#72][Reported by Jason Truesdell]
Added support for index only scan availability check for vector column.
[Windows] Upgraded bundled Groonga to 8.0.5.
Required Groonga 8.0.5 or later.
[pgroonga_score
function] Added debug logs.
[Debian] Dropped Debian GNU/Linux Jessie support.
[Ubuntu] Dropped Ubuntu 17.10 support.
Jason Truesdell
Eiji Ito
[Windows] Upgraded bundled Groonga to 8.0.4.
Improved index cost estimation.
[Windows] Upgraded bundled Groonga to 8.0.3.
Changed to require Groonga 8.0.3 or later.
Added index options support on sequential scan in the following operators:
[pgroonga_highlight_html
function] Added support for index based highlight.
Increased sequential scan cost of full text search related operators. They aren't so lightweight.
Fixed a bug in 2.0.5 to 2.0.6 upgrade SQL.
Fixed a bug that text[] &@~
has different behavior between index scan and sequential scan.
[Windows] Upgraded bundled Groonga to 8.0.2.
Changed to require Groonga 8.0.2 or later.
Added scorer support in the following operators:
[CREATE INDEX USING PGroonga
] Added tokenizer options support.
[CREATE INDEX USING PGroonga
] Added normalizer options support.
[CREATE INDEX USING PGroonga
] Added new options.
lexicon_type
[Ubuntu] Added Ubuntu 18.04 (Bionic Beaver) support.
[Ubuntu] Dropped Ubuntu 17.04 (Zesty Zapus) support.
[Debian] Added package for PostgreSQL 10 on Debian GNU/Linux Strecth.
Fixed a bug that wrong search result may be returned when ARRAY
has one or more NULL
.
[GitHub#64][Reported by peter-schmitz]
Fixed a bug that timestamp (without time zone)
value is stored with long offset.
timestamp (without time zone)
after you upgrade PGroonga.Fixed a bug that large index update may fail with WAL related error after [pgroonga_wal_truncate
function] is used.
Fixed required Groonga version. PGroonga will always depend on the latest Groonga to prevent this problem.
[pgroonga_score
function] Improved performance.
pgroonga_score(tableoid, ctid)
version is faster than existing pgroonga_score(record)
version.Added parallel query support. [GitHub#59][Reported by tedypranolo]
Added summer time support.
Added weight support in the following operators:
[Windows] Upgraded bundled Groonga to 8.0.0.
Improved performance for sub SELECT
.
[GitHub#55][Reported by tedypranolo]
Improved text[]
load performance.
[groonga-dev,04533][Reported by Toshio Uchiyama]
[pgroonga_jsonb_full_text_search_ops_v2
operator class] Added.
[CREATE INDEX USING PGroonga
] Added new options.
full_text_search_normalizer
regexp_search_normalizer
prefix_search_normalizer
Made query parsing loose. No syntax error is occurred. [GitHub:zulip/zulip#8457][Reported by burek967]
[pgroonga_wal_apply
function] Added.
[pgroonga_wal_truncate
function] Added.
[pgroonga_set_writable
function] Added.
[pgroonga_is_writable
function] Added.
Added vector column comparison support.
[WAL] Added record deletion on VACUUM
.
Changed location to store ctid
to source table key from a column.
It requires Groonga 8.0.1.
It doesn't break backward compatibility. Only newly created indexes uses this style. Old style indexes are still supported.
[pgroonga_normalize
function] Added.
[GitHub#13][Patch by Fujimoto Seiji]
Fixed a bug that timestamp (without time zone)
value is stored as local time.
timestamp (without time zone)
after you upgrade PGroonga.Fixed a bug that jsonb
WAL was broken since 2.0.2.
Fixed a bug that wrong table may be removed on VACUUM
.
[pgroonga_text_array_full_text_search_ops_v2
operator class] Fixed a bug that it may return wrong result.
pgroonga_text_array_full_text_search_ops_v2
operator class after you upgrade PGroonga.[pgroonga_varchar_full_text_search_ops_v2
operator class] Fixed a bug that needless 4KiB check is done.
[Reported by Rising Sun]
tedypranolo
Toshio Uchiyama
Rising Sun
Fujimoto Seiji
[Windows] Upgraded bundled Groonga to 7.0.7.
[Ubuntu] Added Ubuntu 17.10 (Artful Aardvark) support.
Added INTEGER_COLUMN = ANY(ARRAY[]::integer[])
support.
[GitHub#53][Reported by tedypranolo]
[pgroonga_query_expand
function] Added text
type for synonym column.
Improved index search estimation with IMMUTABLE
or STABLE
function call.
Added missing empty array check for the following functions:
Added PostgreSQL 10 packages.
Fixed build error on Windows.
Fixed a bug that creating index may be removed by VACUUM
including AUTO VACUUM
.
This is the second major release! It's upgradable from 1.X! 2.X is backward compatible with 1.X!
[Windows] Upgraded bundled Groonga to 7.0.5.
Added PostgreSQL 10 support.
Added logical replication support.
Changed to install functions, operators and operator classes to the current schema with pgroonga_
prefix from pgroonga
schema without pgroonga_
prefix. pgroonga
schema is still used for backward compatibility. But pgroonga
schema is deprecated.
Changed to the default operator classes to _v2
operator classes.
Fixed a crash bug when primary key column isn't the first indexed column. [GitHub#50][Reported by tedypranolo]
Fixed upgrade failure from 1.2.0 on PostgreSQL 9.6 or later.
[Windows] Upgraded bundled Groonga to 7.0.4.
Improved performance against empty array.
[pgroonga.text_term_search_ops_v2
operator class] Ignored tokenizer option.
Supported NULL
value for jsonb
column.
[groonga-dev,04382][Reported by Hirokazu Matsuo]
[pgroonga.query_expand
function]: Added
[pgroonga.text_term_search_ops_v2
operator class] Supported comparison operators.
Stopped to use ?
for operator name:
[GitHub#45][Reported by YUKI "Piro" Hiroshi]
[&@~
operator]: Added. Deprecated &?
operator.
[&@~|
operator]: Added. Deprecated &?|
operator.
[&@*
operator]: Added. Deprecated &~?
operator.
Hirokazu Matsuo
YUKI "Piro" Hiroshi
[Windows] Upgraded bundled Groonga to 7.0.3.
[pgroonga.text_full_text_search_ops_v2
operator class] Supported @@
and %%
for backward compatibility.
[pgroonga.text_array_full_text_search_ops_v2
operator class] Added.
[pgroonga.text_array_full_text_search_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.varchar_full_text_search_ops_v2
operator class] Added.
[pgroonga.varchar_full_text_search_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.text_term_search_ops_v2
operator class] Added the following operators:
[pgroonga.text_array_term_search_ops_v2
operator class] Added the following operators:
[pgroonga.text_array_term_search_ops_v2
operator class] Added the following operators:
[pgroonga.varchar_array_term_search_ops_v2
operator class] Added.
[pgroonga.varchar_array_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.jsonb_ops_v2
operator class] Added.
[pgroonga.jsonb_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.text_regexp_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.varchar_regexp_ops
operator class] Added the following v2 operators for forward compatibility:
[pgroonga.match_escalation_threshold
parameter] Added. [GitHub#37][Reported by ArturFormella]
peter-schmitz
ArturFormella
[Windows] Upgraded bundled Groonga to 7.0.2.
[CentOS 6] Supported WAL.
Dropped [CentOS 5] support.
[Ubuntu 17.04] Supported. It supports WAL.
[Replication] Supported NULL column value.
[pgroonga.score
function] Improved performance. This improvements makes pgroonga.score
function 30 times faster. [GitHub#31][Reported by yongxianggao-chanjet]
Supported PostgreSQL 9.6.2.
Required Groonga 6.1.1 or later.
[pgroonga_check
] Added. It checks PGroonga database consistency on startup. If PGroonga database is broken, it tries to recover the database.
Supported applying WAL on INSERT
.
[CREATE INDEX USING pgroonga
Supported token filters. [GitHub#32][Reported by Tim Bellefleur]
[Windows] Supported PostgreSQL 9.5.6.
[Windows] Supported PostgreSQL 9.6.2.
Added &@
operator to pgroonga.text_full_text_search_ops
(the current default operator class for text
type). It means that you can use &@
operator both with pgroonga.text_full_text_search_ops
and pgroonga.text_full_text_search_ops_v2
operator classes. %%
operator is deprecated.
Added &?
operator to pgroonga.text_full_text_search_ops
(the current default operator class for text
type). It means that you can use &?
operator both with pgroonga.text_full_text_search_ops
and pgroonga.text_full_text_search_ops_v2
operator classes. @@
operator is deprecated.
[Windows] Upgraded bundled Groonga to 6.1.1.
Reduced memory usage on static index construction. You can use index construction by executing CREATE INDEX
after inserting data to table.
Supported logging backtrace on SEGV. It doesn't work on Windows.
Supported Zstandard. If Groonga supports Zstandard, PGroonga uses Zstandard. If Groonga doesn't support Zstandard but supports LZ4, PGroonga uses LZ4. If Groonga doesn't support Zstandard nor LZ4 but supports zlib, PGroonga uses zlib.
Added PID to log.
Made the following functions optimizable for constant arguments case:
[pgroonga.escape
function] Added a new function to escape script syntax value.
[pgroonga.query_escape
function] Added a new function to escape query syntax value.
[pgroonga.command_escape_escape
function] Added a new function to escape Groonga command argument value.
[pgroonga.table_name
function] Changed return type to text
from cstring
.
[pgroonga.command
function] Added arguments array style. The style is recommended for preventing Groonga command injection.
[pgroonga.query_log_path
parameter] Added a new parameter to control path of query log.
pgroonga_tuple_is_alive
Groonga function] Fixed a bug that it may always return false
.Added startup log with PGroonga version.
Supported index only scan availability check for 8KiB over column (TOAST-ed column).
Changed to use zlib compression as fallback for text column when LZ4 isn't available.
[CentOS 7] Supported WAL. It requires EPEL.
[pgroonga_tuple_is_alive
Groonga function] Added a new Groonga function to remove invalid tuples. It can be used with pgroonga.command
function.
Fixed build error with PostgreSQL 9.4 or earlier.
[Ubuntu] Supported Yakkety Yak (16.10).
[Windows] Upgraded bundled Groonga to 6.1.0.
[experimental][WAL] Supported WAL. WAL support requires PostgreSQL 9.6 or later and MessagePack. WAL support means that you can use PostgreSQL's stream replication feature but doesn't mean that PGroonga is crash safe. If PostgreSQL crashes while updating PGroonga data, PGroonga data may be broken. See also replication and pgroonga.enable_wal
parameter.
Upgraded required Groonga version to 6.0.7 or later.
Supported tablespace.
Disabled index only scan automatically when there is one or more long records.
[Ubuntu] Dropped Wily Werewolf (15.10) support.
VACUUM
when PGroonga index is created at non default tablespace. [GitHub#27][Reported by pavelpopovgmail]&?>
operator Fixed a bug that it may return true
even if it's not matched.
&@>
operator Fixed a bug that it may return true
even if it's not matched.
pgroonga.score
function Fixed a memory leak. [groonga-dev,04154][Reported by Takahashi]
UPDATE
or DELETE
one or more records. [GitHub#23][Reported by yongxianggao-chanjet][Windows] Upgraded bundled Groonga to 6.0.9.
Supported Windows-1252
encoding.
Fixed a bug that pgroonga.flush
function doesn't work against JSONB.
Fixed a bug that searching against JSONB may return wrong result.
[Windows] Fixed a bug that pgroonga.flush
isn't found on CREATE EXTENSION pgroonga
. [Gitter:groonga/ja?at=57e1f1cfc8af41d45f31d2b2][Reported by Truong Dinh Anh Duy]
[Windows] Fixed a bug that SELECT
may be crashed.
IN
by integer. [GitHub#21][Reported by yongxianggao-chanjet]yongxianggao-chanjet
Tim Abbott
[Windows] Upgraded bundled Groonga to 6.0.8.
Supported estimation. It improves performance.
Updated bundled xxHash to 0.6.2.
Added pgroonga.match_positions_character
function that returns match positions in character.
Added pgroonga.flush
function that flushes buffered changes in memory.
Fixed a crash bug when background worker is used. [GitHub#17][Reported by svsool]
Fixed a bug that needless recheck is ran on bitmap heap scan.
Supported PostgreSQL 9.6beta1.
[pgroonga.text_array_term_search_ops_v2
] Supported prefix search against text[]
by &^>
.
[pgroonga.text_array_term_search_ops_v2
] Supported prefix RK search against text[]
by &^~>
.
[Windows] Upgraded bundled Groonga to 6.0.3.
pgroonga.match_positions_byte
function returns wrong positions when text has 17 or more keywords. [Reported by 张建春]Ubuntu Supported Xenial Xerus (16.04 LTS).
Added pgroonga.highlight_html
function that highlight the specified keywords in the specified text.
Added pgroonga.match_positions_byte
function that returns match positions of the specified keywords in the specified text. The unit of position is byte.
Added pgroonga.query_extract_keywords
function that returns keywords from the specified query.
[Windows] Added version information to DLL. [groonga-dev,03962] [Suggested by Naoki Takami]
[pgroonga.text_full_text_search_ops_v2
] Supported similar search by &~?
.
[pgroonga.text_term_search_ops_v2
] Supported prefix search by &^
.
[pgroonga.text_term_search_ops_v2
] Supported prefix RK search by &^~
.
[Windows] Changed Visual Studio version to 2013 from 2015. Because PostgreSQL binary uses 2013.
[Windows] Upgraded base PostgreSQL to 9.5.2 from 9.5.1
[Windows] Upgraded bundled Groonga to 6.0.1.
Supported multibyte column name in UTF-8.
[pgroonga.text_full_text_search_ops_v2
] Added &`
operator that accepts script syntax as condition.
[Windows] Enabled LZ4.
[Windows] Upgraded base PostgreSQL to 9.5.1 from 9.5.0.
[Windows] Upgraded bundled Groonga to 6.0.0 from 5.1.2.
Required Groonga 5.1.2 or later.
[Windows] Upgraded base PostgreSQL to 9.5.0 from 9.4.5.
[Windows] Upgraded bundled Groonga to 5.1.2.
[Windows] Enabled mruby.
[RPM] Supported PostgreSQL 9.5.
[jsonb
] Supported sequential scan.
Added pgroonga.text_full_text_search_ops_v2
operator class. It's an experimental operator class. It may break backward compatibility but includes new features.
Here are supported operators:
LIKE
ILIKE
&@
: It's equal to %%
in pgroonga.text_full_text_search
.
&?
: It's equal to @@
in pgroonga.text_full_text_search
.
&@>
: It returns true when one of the right hand side texts returns true by &@
.
&?>
: It returns true when one of the right hand side texts returns true by &?
.
Support composite primary key.
VACUUM
or ANALYZE
. It's caused after you use REINDEX
. [groonga-dev,03850] [Reported by Naoki Takami]Accepted none
as none value for tokenizer and normalizer. [groonga-dev,03664] [Reported by Naoki Takami]
Supported CREATE DATABASE TABLESPACE
. [Suggested by Hiroyuki Sato]
Naoki Takami
Hiroyuki Sato
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.
Propagated double initialization on failing to open database. [groonga-dev,03528] [Reported by Naoki Takami]
Supported index only scan.
Supported regular expression search by @~
. [groonga-dev,03563] [Reported by Hiroaki Tachikawa]
[Windows] Bundled MeCab.
Made LIKE
with index outputs LIKE
with sequential scan compatible outputs. It's implemented by using recheck feature provided by PostgreSQL. It means that LIKE
is slower than %%
operator and @@
operator.
Supported ILIKE
with index.
Naoki Takami
Hiroaki Tachikawa
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.
jsonb
. You can use @>
operator like GIN index for jsonb
. @>
operator works like GIN index for jsonb
. It's compatible. You can also use @@
operator. It's PGroonga original operator. It's more flexible.You can update to 0.8.0 from 0.7.0 by override install. You don't need to re-create pgroonga
indexes.
VACUUM
.pgroonga.log_path
: Added a variable that changes path for Groonga log.pgroonga.log_path
.pgroonga.log_type
: Added a variable that changes how to log.TRUNCATE
-ed table. [GitHub#1] [Reported by Hiroki Nakamura]pgroonga.snippet_html()
: Added a function that generates snippet HTML. [groonga-dev,03398] [Reported by Hiroki Nakamura]pgroonga.lock_timeout
: Added a variable that changes the number of lock retries. [groonga-dev,03419] [Suggested by Naoki Takami]You can update to 0.6.0 from 0.5.0 by override install. You don't need to re-create pgroonga
indexes.
pgroonga.log
in database directory instead of PostgreSQL's log path.pgroonga.log_level
: Added a variable that changes log level.VACUUM
.You can update to 0.6.0 from 0.5.0 by override install. You don't need to re-create pgroonga
indexes.
pgroonga.score()
: Supported HOT update on PostgreSQL 9.3.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.
pgroonga.score()
: Supported HOT update.pgroonga.score()
: Required primary key.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.
column LIKE '%keyword'
as a short cut of column @@ 'keyword'
.Added PGroonga setup script on Travis CI. Add the following line to install
section in your .travis.yml
:
curl --silent --location https://github.com/pgroonga/pgroonga/raw/master/data/travis/setup.sh | sh
pgroonga.table_name()
that returns table name in Groonga.pgroonga.command()
that executes Groonga command line.pgroonga.score()
that returns search score in Groonga.timestamp
type.timestamp with time zone
type.varchar[]
type.text[]
type.SELECT
.text == text
search by index. Use 4096 bytes or smaller varchar
instead.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.
Supported customizing tokenizer and normalizer by WITH
such as:
CREATE INDEX pgroonga_index
ON table
USING pgroonga (column)
WITH (tokenizer='TokenMecab',
normalizer='NormalizerAuto');
pgrn
from grn
.The first release!!!