pg_icu_parser
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_icu_parser | 1.0 | FTS | MPL-2.0 | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 2300 | pg_icu_parser | No | Yes | No | Yes | No | Yes | - |
SQL/control version 1.0; upstream release 1.0.0. Local RPM/DEB builds support PG14-18 with a PG18 encoding-API compatibility patch and explicit ICU linkage. ts_headline is unsupported. PIGSTY PG14-18 packages verified across EL8/9/10, Debian 12/13 and Ubuntu 22.04/24.04/26.04 on x86_64/amd64 and aarch64/arm64; all 16 platforms imported into the local PIGSTY repository.
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0 | 1817161514 | pg_icu_parser | - |
| RPM | PIGSTY | 1.0.0 | 1817161514 | pg_icu_parser_$v | - |
| DEB | PIGSTY | 1.0.0 | 1817161514 | postgresql-$v-pg-icu-parser | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.0.0 el8.x86_64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.0.0 el8.x86_64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.0.0 el8.x86_64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.0.0 el8.x86_64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.0.0 el8.x86_64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 1.0.0 el8.aarch64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.0.0 el8.aarch64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.0.0 el8.aarch64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.0.0 el8.aarch64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.0.0 el8.aarch64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 1.0.0 el9.x86_64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.0.0 el9.x86_64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.0.0 el9.x86_64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.0.0 el9.x86_64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.0.0 el9.x86_64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 1.0.0 el9.aarch64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.0.0 el9.aarch64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.0.0 el9.aarch64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.0.0 el9.aarch64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.0.0 el9.aarch64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 1.0.0 el10.x86_64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.0.0 el10.x86_64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.0.0 el10.x86_64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.0.0 el10.x86_64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.0.0 el10.x86_64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 1.0.0 el10.aarch64.pg18 : pg_icu_parser_18 pg_icu_parser_18-1.0.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.0.0 el10.aarch64.pg17 : pg_icu_parser_17 pg_icu_parser_17-1.0.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.0.0 el10.aarch64.pg16 : pg_icu_parser_16 pg_icu_parser_16-1.0.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.0.0 el10.aarch64.pg15 : pg_icu_parser_15 pg_icu_parser_15-1.0.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.0.0 el10.aarch64.pg14 : pg_icu_parser_14 pg_icu_parser_14-1.0.0-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 1.0.0 d12.x86_64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.0.0 d12.x86_64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.0.0 d12.x86_64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.0.0 d12.x86_64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.0.0 d12.x86_64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 1.0.0 d12.aarch64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.0.0 d12.aarch64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.0.0 d12.aarch64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.0.0 d12.aarch64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.0.0 d12.aarch64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 1.0.0 d13.x86_64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~trixie_amd64.deb
| PIGSTY 1.0.0 d13.x86_64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~trixie_amd64.deb
| PIGSTY 1.0.0 d13.x86_64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~trixie_amd64.deb
| PIGSTY 1.0.0 d13.x86_64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~trixie_amd64.deb
| PIGSTY 1.0.0 d13.x86_64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 1.0.0 d13.aarch64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~trixie_arm64.deb
| PIGSTY 1.0.0 d13.aarch64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~trixie_arm64.deb
| PIGSTY 1.0.0 d13.aarch64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~trixie_arm64.deb
| PIGSTY 1.0.0 d13.aarch64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~trixie_arm64.deb
| PIGSTY 1.0.0 d13.aarch64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 1.0.0 u22.x86_64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~jammy_amd64.deb
| PIGSTY 1.0.0 u22.x86_64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~jammy_amd64.deb
| PIGSTY 1.0.0 u22.x86_64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~jammy_amd64.deb
| PIGSTY 1.0.0 u22.x86_64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~jammy_amd64.deb
| PIGSTY 1.0.0 u22.x86_64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 1.0.0 u22.aarch64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~jammy_arm64.deb
| PIGSTY 1.0.0 u22.aarch64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~jammy_arm64.deb
| PIGSTY 1.0.0 u22.aarch64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~jammy_arm64.deb
| PIGSTY 1.0.0 u22.aarch64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~jammy_arm64.deb
| PIGSTY 1.0.0 u22.aarch64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 1.0.0 u24.x86_64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~noble_amd64.deb
| PIGSTY 1.0.0 u24.x86_64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~noble_amd64.deb
| PIGSTY 1.0.0 u24.x86_64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~noble_amd64.deb
| PIGSTY 1.0.0 u24.x86_64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~noble_amd64.deb
| PIGSTY 1.0.0 u24.x86_64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 1.0.0 u24.aarch64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~noble_arm64.deb
| PIGSTY 1.0.0 u24.aarch64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~noble_arm64.deb
| PIGSTY 1.0.0 u24.aarch64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~noble_arm64.deb
| PIGSTY 1.0.0 u24.aarch64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~noble_arm64.deb
| PIGSTY 1.0.0 u24.aarch64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 1.0.0 u26.x86_64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~resolute_amd64.deb
| PIGSTY 1.0.0 u26.x86_64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~resolute_amd64.deb
| PIGSTY 1.0.0 u26.x86_64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~resolute_amd64.deb
| PIGSTY 1.0.0 u26.x86_64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~resolute_amd64.deb
| PIGSTY 1.0.0 u26.x86_64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 1.0.0 u26.aarch64.pg18 : postgresql-18-pg-icu-parser postgresql-18-pg-icu-parser_1.0.0-1PGSTY~resolute_arm64.deb
| PIGSTY 1.0.0 u26.aarch64.pg17 : postgresql-17-pg-icu-parser postgresql-17-pg-icu-parser_1.0.0-1PGSTY~resolute_arm64.deb
| PIGSTY 1.0.0 u26.aarch64.pg16 : postgresql-16-pg-icu-parser postgresql-16-pg-icu-parser_1.0.0-1PGSTY~resolute_arm64.deb
| PIGSTY 1.0.0 u26.aarch64.pg15 : postgresql-15-pg-icu-parser postgresql-15-pg-icu-parser_1.0.0-1PGSTY~resolute_arm64.deb
| PIGSTY 1.0.0 u26.aarch64.pg14 : postgresql-14-pg-icu-parser postgresql-14-pg-icu-parser_1.0.0-1PGSTY~resolute_arm64.deb
|
Build
You can build the RPM / DEB packages for pg_icu_parser using pig build:
Install
You can install pg_icu_parser directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Sources:
pg_icu_parser supplies the icu_parser full-text-search parser, which uses ICU Unicode word-boundary analysis. It is useful for languages such as Chinese, Japanese, Korean, and Hebrew where PostgreSQL’s whitespace- and pattern-oriented default parser may not produce suitable word boundaries.
Core Workflow
The server must be PostgreSQL 10 or later and must have been built with ICU support. Create the extension, then create a text-search configuration that selects its parser and maps the token types you need:
Choose dictionaries for the actual language; english_stem above only demonstrates the mapping syntax.
Parser Surface
word,number,kana,ideo, andblankare the token types emitted byicu_parser.pg_icu_parser.localeselects the ICU locale and defaults toen. Upstream notes that word-boundary rules are usually not locale-sensitive, so change it only after testing a concrete need.- Any PostgreSQL text-search dictionary can be mapped to the emitted token types.
Trade-offs
- The parser requires ICU in the PostgreSQL build; creating the extension cannot add ICU to a server built without it.
- It emits fewer and coarser token types than the default parser and does not recognize special patterns such as URLs or email addresses as distinct categories.
- The reviewed release does not support
ts_headline. - Upstream reports that it is slower than the default parser, with a lower conversion overhead when the database encoding is UTF-8. Benchmark representative documents and query shapes on the target system.
- When parser mappings or locale behavior change, rebuild stored
tsvectorvalues and dependent indexes so old and new rows do not use different tokenization.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)