Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v6l4Q-009DEe-RU for pgsql-announce@arkaria.postgresql.org; Thu, 09 Oct 2025 07:28:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v6l4O-0019Kk-Ht for pgsql-announce@arkaria.postgresql.org; Thu, 09 Oct 2025 07:28:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v6l4N-0019Gj-9b for pgsql-announce@lists.postgresql.org; Thu, 09 Oct 2025 07:28:12 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v6l4H-000oVq-1Z for pgsql-announce@lists.postgresql.org; Thu, 09 Oct 2025 07:28:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=GLHMerXPK56+9wOyuzDURGoZpTKYSK5rUzilurdvr88=; b=k0XAXWMJcAcB0OAzdsjXIk3jJK h3YKFALYnfWqq5n/RO+MFWiCEa9u0UDesWZnlb/CpHkT5f+s7Dhuoaj/UlQOHxBE8JaNJWLtR4HYq X8iCLdKIQQ6SvPyQF2/kPVQqyns3agap8/kEcvepyKtXA2TeweuO0hYGQt0/XJC9WNce/ekTvbMS+ VwAQKPw+1kMFqGN4YmP2MK/KLUAQIhYQuV8rJz/DQGEykuhD4Pt0sRkTYBWEgNTgeSJ/NDxtQuIi+ 1bz2Qt7Ox7xU5CQ1u+fRXcFj4L9qKybliOyUa1Q8D53LErfRe3dWLGc+cRBKD9Oe/Jl1BsJhlPYVn d2XIoifA==; Received: from wrigleys.postgresql.org ([2a02:16a8:dc51::60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v6l4G-002FMA-QL for pgsql-announce@lists.postgresql.org; Thu, 09 Oct 2025 07:28:05 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1v6l4F-007iOW-0h for pgsql-announce@lists.postgresql.org; Thu, 09 Oct 2025 07:28:03 +0000 Content-Type: multipart/mixed; boundary="===============5559765979136265603==" MIME-Version: 1.0 Subject: PGroonga 4.0.4 - Multilingual fast full text search To: PostgreSQL Announce From: PGroonga project via PostgreSQL Announce Reply-To: horimoto@clear-code.com Date: Thu, 09 Oct 2025 07:27:55 +0000 Message-ID: <175999487571.767.4073950564481435586@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: dea8d4583f309ef784bfcbe707546841ee342944d364b548239c54429467da3d List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5559765979136265603== Content-Type: multipart/alternative; boundary="===============0519284564122441830==" MIME-Version: 1.0 --===============0519284564122441830== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, PGroonga 4.0.4 has been released! ### Changes Here are highlights of PGroonga 4.0.4: #### Support PostgreSQL 18 On PostgreSQL 18 and later, PostgreSQL's planner can recognize PGroonga as = an ordered index. PGroonga can return filtered and already-sorted records to PostgreSQL for q= ueries like WHERE ... ORDER BY ... LIMIT. This improvement may improve the response tim= e when many rows match. On PostgreSQL 17 or earlier, PostgreSQL sort results even if results are so= rted in PGroonga index. Starting with this release on PostgreSQL 18+, PostgreSQL skips that extra s= ort when PGroonga provides sorted output. Therefore, PGroonga can return results more efficiently. In addition, we now provide PGroonga packages for Debian GNU/Linux trixie a= nd AlmaLinux 10. This makes it easy to use the latest PostgreSQL with the latest PGroonga on= the latest OS versions. See the following release note URL for details: * https://pgroonga.github.io/news/index.html#version-4-0-4 ### [About PGroonga](https://pgroonga.github.io/) PGroonga is a PostgreSQL extension that makes PostgreSQL full text search platform for all languages! You can use super fast full text search feature with zero ETL against all languages by installing PGroonga into your PostgreSQL! It's released under PostgreSQL license. There are some PostgreSQL extensions that improve full text search feature of PostgreSQL such as pg_trgm [^1]. [^1]:https://www.postgresql.org/docs/current/static/pgtrgm.html pg_trgm doesn't support languages that use non-alphanumeric characters such as Japanese and Chinese. PGroonga supports all languages, provides rich full text search related features and is very fast. Because PGroonga uses Groonga[^2] that is a full-fledged full text search engine as backend. [^2]: https://groonga.org/ See the following benchmark results for performance: * Benchmark result for PGroonga, textsearch and pg_trgm with English Wikipe= dia https://pgroonga.github.io/reference/pgroonga-versus-textsearch-and-pg-tr= gm.html * Benchmark result for PGroonga and pg_bigm with Japanese Wikipedia https://pgroonga.github.io/reference/pgroonga-versus-pg-bigm.html PGroonga also supports JSON search. You can use each value for condition. You can also perform full text search against all texts in JSON like textsearch in PostgreSQL 10 does. ### Usage You can use PGroonga without full text search knowledge. You just create an index and add a condition into WHERE: > CREATE INDEX index_name ON table USING pgroonga (column); > SELECT * FROM table WHERE column &@~ 'PostgreSQL'; You can also use LIKE to use PGroonga. PGroonga provides a feature that performs LIKE with index. LIKE with PGroonga index is faster than LIKE without index. It means that you can improve performance without changing your application that uses the following SQL: > SELECT * FROM table WHERE column LIKE '%PostgreSQL%'; Are you interested in PGroonga? Please install[^4] and try tutorial[^5]. You can know all PGroonga features. [^4]: https://pgroonga.github.io/install/ [^5]: https://pgroonga.github.io/tutorial/ You can install PGroonga easily because PGroonga provides packages for major platforms. There are binaries for Windows. ### Users Here are PGroonga users: * Zulip: https://zulip.com/ * Powerful open source group chat https://pgroonga.github.io/users/ Thanks, --===============0519284564122441830== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable PGroonga 4.0.4 - Multilingual fast full text search
 

PGroonga 4.0.4 - Multilingual fast full text search

Hi,

PGroonga 4.0.4 has been released!

Changes

Here are highlights of PGroonga 4.0.4:

Support PostgreSQL 18

On PostgreSQL 18 and later, PostgreSQL's pl= anner can recognize PGroonga as an ordered index. PGroonga can return filtered and already-sorted records to PostgreSQL for q= ueries like WHERE ... ORDER BY ... LIMIT. This improvement may improve the response tim= e when many rows match.

On PostgreSQL 17 or earlier, PostgreSQL sor= t results even if results are sorted in PGroonga index. Starting with this release on PostgreSQL 18+, PostgreSQL skips that extra s= ort when PGroonga provides sorted output. Therefore, PGroonga can return results more efficiently.

In addition, we now provide PGroonga packag= es for Debian GNU/Linux trixie and AlmaLinux 10. This makes it easy to use the latest PostgreSQL with the latest PGroonga on= the latest OS versions.

See the following release note URL for deta= ils:

  • https://pgroong= a.github.io/news/index.html#version-4-0-4

About PGroong= a

PGroonga is a PostgreSQL extension that mak= es PostgreSQL full text search platform for all languages! You can use super fast full text search feature with zero ETL against all languages by installing PGroonga into your PostgreSQL! It's released under PostgreSQL license.

There are some PostgreSQL extensions that i= mprove full text search feature of PostgreSQL such as pg_trgm ^1.

pg_trgm doesn't support languages that use = non-alphanumeric characters such as Japanese and Chinese.

PGroonga supports all languages, provides r= ich full text search related features and is very fast. Because PGroonga uses Groonga^2 that is a full-fledged full text search engine as backend.

See the following benchmark results for per= formance:

  • Benchmark resul= t for PGroonga, textsearch and pg_trgm with English Wikipedia https://pgroonga.github.io/reference/pgroonga-versus-textsearch-and-pg-tr= gm.html
  • Benchmark resul= t for PGroonga and pg_bigm with Japanese Wikipedia https://pgroonga.github.io/reference/pgroonga-versus-pg-bigm.html

PGroonga also supports JSON search. You can= use each value for condition. You can also perform full text search against all texts in JSON like textsearch in PostgreSQL 10 does.

Usage

You can use PGroonga without full text sear= ch knowledge. You just create an index and add a condition into WHERE:

CREATE INDEX index_name ON table USING pgro= onga (column);

SELECT * FROM table WHERE column &@~ 'P= ostgreSQL';

You can also use LIKE to use PGroonga. PGro= onga provides a feature that performs LIKE with index. LIKE with PGroonga index is faster than LIKE without index. It means that you can improve performance without changing your application that uses the following SQL:

SELECT * FROM table WHERE column LIKE '%Pos= tgreSQL%';

Are you interested in PGroonga? Please inst= all^4 and try tutorial^5. You can know all PGroonga featur= es.

You can install PGroonga easily because PGr= oonga provides packages for major platforms. There are binaries for Windows.

Users

Here are PGroonga users:

  • Zulip: https://= zulip.com/
    • Powerful open s= ource group chat

https://pgroonga.github.io/users/

Thanks,

This email was sent to you from PGroonga project. It was delivered on their= behalf by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to PGroonga project.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============0519284564122441830==-- --===============5559765979136265603==--