rum
RUM index access method
rum : RUM index access method
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 2710 | rum | rum | 1.3.15 |
FEAT | PostgreSQL | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
| --s-d-r | No | Yes | No | Yes | yes | no |
| Relationships | |
|---|---|
| See Also | pg_search pgroonga pg_trgm pgfaceting roaringbitmap bloom parray_gin btree_gin intarray btree_gist |
1.3.15 build pass on pg 16,17,18
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | MIXED | 1.3.15 |
18 17 16 15 14 | rum |
- |
| RPM | PIGSTY | 1.3.15 |
18 17 16 15 14 | rum_$v |
- |
| DEB | PGDG | 1.3.15 |
18 17 16 15 14 | postgresql-$v-rum |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| el8.aarch64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| el9.x86_64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| el9.aarch64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| el10.x86_64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| el10.aarch64 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PIGSTY 1.3.15 | PGDG 1.3.14 | PGDG 1.3.14 |
| d12.x86_64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| d12.aarch64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| d13.x86_64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| d13.aarch64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u22.x86_64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u22.aarch64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u24.x86_64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u24.aarch64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u26.x86_64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
| u26.aarch64 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 | PGDG 1.3.15 |
Source
github.com/postgrespro/rum
rum-1.3.15.tar.gz
Install
Make sure PGDG and PIGSTY repo available:
Install this extension with pig:
Create this extension with:
Usage
RUM is an index access method that extends GIN by storing additional information in the posting tree. This enables direct access to positional data, avoiding extra heap scans for ranking, phrase searches, and timestamp ordering.
Index Creation
With addon operators (e.g., ordering by a timestamp alongside full-text search):
Operator Classes
| Operator Class | Description |
|---|---|
rum_tsvector_ops |
Stores tsvector lexemes with positions. Supports <=> ordering and prefix search. |
rum_tsvector_hash_ops |
Stores hashed tsvector lexemes with positions. Supports <=> ordering, no prefix search. |
rum_tsvector_addon_ops |
Combines tsvector with additional fields (timestamps, integers, etc.) for filtering and ordering. |
rum_tsvector_hash_addon_ops |
Hashed variant supporting addon fields, no prefix search. |
rum_tsquery_ops |
Stores tsquery branches for fast query matching against indexed documents. |
rum_anyarray_ops |
Indexes array types. Supports &&, @>, <@, =, % and <=> ordering. |
rum_anyarray_addon_ops |
Combines array elements with additional fields. |
rum_TYPE_ops |
Generic ops for int2, int4, int8, float4, float8, money, oid, time, timetz, date, interval, macaddr, inet, cidr, text, varchar, char, bytea, bit, varbit, numeric, timestamp, timestamptz. |
Ordering Operators
| Operator | Description |
|---|---|
<=> |
Distance operator for tsvector, timestamp, numeric types, arrays |
<=| |
Left-side distance for timestamp, int, float, money, oid |
|=> |
Right-side distance for timestamp, int, float, money, oid |
Examples
Full-text search with ranking:
Timestamp-ordered full-text search:
Array matching with distance ordering: