pgroonga

Use Groonga as index, fast full text search platform for all languages!

Overview

PIGSTY 3rd Party Extension: pgroonga : Use Groonga as index, fast full text search platform for all languages!

Information

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 EXTENSION DDL
  • Relocatable: Can not install to arbitrary schema
  • Trusted: Trusted, Can be created by user with CREATE Privilege
  • 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

Packages

OS Arch PG17 PG16 PG15 PG14 PG13
el8 x86_64 pgroonga_17
PIGSTY 4.0.0
pgroonga_16
PIGSTY 4.0.0
pgroonga_15
PIGSTY 4.0.0
pgroonga_14
PIGSTY 4.0.0
pgroonga_13
PIGSTY 4.0.0
el8 aarch64 pgroonga_17
PIGSTY 4.0.0
pgroonga_16
PIGSTY 4.0.0
pgroonga_15
PIGSTY 4.0.0
pgroonga_14
PIGSTY 4.0.0
pgroonga_13
PIGSTY 4.0.0
el9 x86_64 pgroonga_17
PIGSTY 4.0.0
pgroonga_16
PIGSTY 4.0.0
pgroonga_15
PIGSTY 4.0.0
pgroonga_14
PIGSTY 4.0.0
pgroonga_13
PIGSTY 4.0.0
el9 aarch64 pgroonga_17
PIGSTY 4.0.0
pgroonga_16
PIGSTY 4.0.0
pgroonga_15
PIGSTY 4.0.0
pgroonga_14
PIGSTY 4.0.0
pgroonga_13
PIGSTY 4.0.0
d12 x86_64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0
d12 aarch64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0
u22 x86_64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0
u22 aarch64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0
u24 x86_64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0
u24 aarch64 postgresql-17-pgroonga
PIGSTY 4.0.0
postgresql-16-pgroonga
PIGSTY 4.0.0
postgresql-15-pgroonga
PIGSTY 4.0.0
postgresql-14-pgroonga
PIGSTY 4.0.0
postgresql-13-pgroonga
PIGSTY 4.0.0

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;

Enable 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)




Last modified 2025-02-17: add extension part (cfa504b)