pgroonga
Use Groonga as index, fast full text search platform for all languages!
Overview
2110 | pgroonga | pgroonga | 4.0.0 | FTS | PostgreSQL | C |
Attributes
Yes | No | Yes | No | Yes | Yes | Yes | - |
Packages
EL | PIGSTY | pgroonga_$v* | 4.0.0 | groonga-libs | 17 16 15 14 13 |
Debian | PIGSTY | postgresql-$v-pgroonga | 4.0.0 | libgroonga0 | 17 16 15 14 13 |
Availability
PG17 | PG16 | PG15 | PG14 | PG13 | |
---|---|---|---|---|---|
el8.x86_64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
el8.aarch64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
el9.x86_64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
el9.aarch64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
d12.x86_64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
d12.aarch64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
u22.x86_64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
u22.aarch64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
u24.x86_64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
u24.aarch64 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 4.0.0 |
CONTRIB
PGDG
PIGSTY
Download
To add the required PGDG / PIGSTY upstream repository, use:
pig repo add pgdg -u # add PGDG repo and update cache (leave existing repos)
pig repo add pigsty -u # add PIGSTY repo and update cache (leave existing repos)
pig repo add pgsql -u # add PGDG + Pigsty repo and update cache (leave existing repos)
pig repo set all -u # set repo to all = NODE + PGSQL + INFRA (remove existing repos)
./node.yml -t node_repo -e node_repo_modules=node,pgsql # -l <cluster>
Or download the latest packages directly:
Install
Install this extension with:
pig ext install pgroonga; # install by extension name, for the current active PG version
pig ext install pgroonga -v 17; # install for PG 17
pig ext install pgroonga -v 16; # install for PG 16
pig ext install pgroonga -v 15; # install for PG 15
pig ext install pgroonga -v 14; # install for PG 14
pig ext install pgroonga -v 13; # install for PG 13
dnf install pgroonga_17*;
dnf install pgroonga_16*;
dnf install pgroonga_15*;
dnf install pgroonga_14*;
dnf install pgroonga_13*;
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;
./pgsql.yml -t pg_ext -e '{"pg_extensions": ["pgroonga"]}' # -l <cls>
Create this extension with:
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)