This is a document for PGroonga 2.X. See PGroonga 1.x document when you're using old PGroonga.

Reference manual

This document describes about all features. Tutorial focuses on easy to understand only about important features. This document focuses on completeness. If you don't read tutorial yet, read tutorial before read this document.

pgroonga schema

pgroonga schema is deprecated since 2.0.0. Use pgroonga_* functions, operators and operator classes in the current schema for newly written code.

PGroonga defines functions, operators, operator classes and so on into pgroonga schema. Only superuser can use features in pgroonga schema by default. Superuser needs to grant USAGE privilege on pgroonga schema to normal users who want to use PGroonga.

pgroonga index


Row level security support

Since 2.3.3.

All v2 operators supports PostgreSQL's row level security.

For text

pgroonga_text_full_text_search_ops_v2 operator class (default)

pgroonga_text_term_search_ops_v2 operator class

pgroonga_text_regexp_ops_v2 operator class

For text[]

pgroonga_text_array_full_text_search_ops_v2 operator class (default)

pgroonga_text_array_term_search_ops_v2 operator class

For varchar

pgroonga_varchar_term_search_ops_v2 operator class (default)

pgroonga_varchar_full_text_search_ops_v2 operator class

pgroonga_varchar_regexp_ops_v2 operator class

For varchar[]

pgroonga_varchar_array_term_search_ops_v2 operator class (default)

For boolean, numbers and timestamps

Supported types: boolean, smallint, integer, bigint, real, double precision, timestamp and timestamp with time zone

For jsonb

pgroonga_jsonb_ops_v2 operator class (default)

pgroonga_jsonb_full_text_search_ops_v2 operator class

Old operators

For text

pgroonga_text_full_text_search_ops operator class (default)

Deprecated since 2.0.0.

Use pgroonga_text_full_text_search_ops_v2 operator class instead.

pgroonga_text_regexp_ops operator class

Deprecated since 2.0.0.

Use pgroonga_text_regexp_ops_v2 operator class instead.

For text[]

pgroonga_text_array_full_text_search_ops operator class

Deprecated since 2.0.0.

Use pgroonga_text_array_full_text_search_ops_v2 operator class instead.

For varchar

pgroonga_varchar_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_term_search_ops_v2 operator class instead.

pgroonga_varchar_full_text_search_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_full_text_search_ops_v2 operator class instead.

pgroonga_varchar_regexp_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_regexp_ops_v2 operator class instead.

For varchar[]

pgroonga_varchar_array_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_array_term_search_ops_v2 operator class instead.

For jsonb

pgroonga_jsonb_ops operator class

Deprecated since 2.0.0.

Use pgroonga_jsonb_ops_v2 operator class instead.




Groonga functions

You can use them with pgroonga_command function. You can't use them in WHERE clause.


Normally, you don't need to tune PGroonga because PGroonga works well by default.

But you need to tune PGroonga in some cases such as a case that you need to handle a very large database. PGroonga uses Groonga as backend. It means that you can apply tuning knowledge for Groonga to PGroonga. See the following Groonga document to tune PGroonga: