pgroonga
Use Groonga as index, fast full text search platform for all languages!
	Module:
Categories:
Overview
PIGSTY 3rd Party Extension:  pgroonga : Use Groonga as index, fast full text search platform for all languages!
Information
- Extension ID: 2110
 - Extension Name: 
pgroonga - Package Name: 
pgroonga - Category: 
FTS - License: PostgreSQL
 - Website: https://github.com/pgroonga/pgroonga
 - Language: C
 - Extra Tags: N/A
 - Comment: N/A
 
Metadata
- Latest Version: 4.0.0
 - Postgres Support: 
17,16,15,14,13 - Need Load: Shared library do not need explicit loading
 - Need DDL:  Need 
CREATE EXTENSIONDDL - Relocatable: Can not install to arbitrary schema
 - Trusted:  Trusted, Can be created by user with 
CREATEPrivilege - Schemas: N/A
 - Requires: N/A
 
RPM / DEB
- RPM Repo: PIGSTY
 - RPM Name: 
pgroonga_$v* - RPM Ver : 
4.0.0 - RPM Deps: 
groonga-libs - DEB Repo: PIGSTY
 - DEB Name: 
postgresql-$v-pgroonga - DEB Ver : 
4.0.0 - DEB Deps: 
libgroonga0 
Availability
Installation
Install pgroonga via the pig CLI tool:
pig ext install pgroonga
Install pgroonga via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgroonga"]}' # -l <cls>
Install pgroonga RPM from YUM repo directly:
dnf install pgroonga_17*;
dnf install pgroonga_16*;
dnf install pgroonga_15*;
dnf install pgroonga_14*;
dnf install pgroonga_13*;
Install pgroonga DEB from APT repo directly:
apt install postgresql-17-pgroonga;
apt install postgresql-16-pgroonga;
apt install postgresql-15-pgroonga;
apt install postgresql-14-pgroonga;
apt install postgresql-13-pgroonga;
Create pgroonga extension on PostgreSQL cluster:
CREATE EXTENSION pgroonga;
Usage
- https://pgroonga.github.io/
 - News: It lists release information.
 - Overview: It describes about PGroonga.
 - Install: It describes how to install PGroonga.
 - Upgrade: It describes how to upgrade PGroonga.
 - Uninstall: It describes how to uninstall PGroonga.
 - Tutorial: It describes how to use PGroonga step by step.
 - FAQ: Frequently asked questions.
 - How to: It describes about useful information for specific situations.
 - Reference: It describes details for each features such as options, functions and operators.
 - Troubleshooting: It describes how to fix troubles.
 - Community: It introduces about PGroonga community.
 - Users: It lists PGroonga users.
 - Development: It describes how to develop PGroonga.
 
Here’s a quick tutorial about how to use PGroonga:
CREATE EXTENSION IF NOT EXISTS pgroonga;
CREATE TABLE memos
(
    id      integer,
    content text
);
CREATE INDEX pgroonga_content_index ON memos USING pgroonga (content);
INSERT INTO memos VALUES (1, 'PostgreSQL is a relational database management system.');
INSERT INTO memos VALUES (2, 'Groonga is a fast full text search engine that supports all languages.');
INSERT INTO memos VALUES (3, 'PGroonga is a PostgreSQL extension that uses Groonga as index.');
INSERT INTO memos VALUES (4, 'There is groonga command.');
SET enable_seqscan = off;
-- now let's query pgroonga
SELECT * FROM memos WHERE content &@ 'engine';
--  id |                                content                                 
-- ----+------------------------------------------------------------------------
--   2 | Groonga is a fast full text search engine that supports all languages.
-- (1 row)
SELECT * FROM memos WHERE content &@~ 'PGroonga OR PostgreSQL';
--  id |                            content                             
-- ----+----------------------------------------------------------------
--   3 | PGroonga is a PostgreSQL extension that uses Groonga as index.
--   1 | PostgreSQL is a relational database management system.
-- (2 rows)
SELECT * FROM memos WHERE content LIKE '%engine%';
--  id |                                content                                 
-- ----+------------------------------------------------------------------------
--   2 | Groonga is a fast full text search engine that supports all languages.
-- (1 row)
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.