icu_ext

icu_ext

icu_ext : Access ICU functions

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
4240
icu_ext
icu_ext
1.10.0
UTIL
PostgreSQL
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
pgpcre
pg_xenophile
unaccent
gzip
bzip
zstd
http
pg_net

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
MIXED
1.10.0
18
17
16
15
14
icu_ext-
RPM
PIGSTY
1.10.0
18
17
16
15
14
icu_ext_$v-
DEB
PGDG
1.10.0
18
17
16
15
14
postgresql-$v-icu-ext-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
el8.aarch64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
el9.x86_64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
el9.aarch64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
el10.x86_64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
el10.aarch64
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
PIGSTY 1.10.0
d12.x86_64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
d12.aarch64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
d13.x86_64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
d13.aarch64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
u22.x86_64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
u22.aarch64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
u24.x86_64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
u24.aarch64
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PGDG 1.10.0
PackageVersionOSORGSIZEFile URL
icu_ext_181.10.0el8.x86_64pigsty51.0 KiBicu_ext_18-1.10.0-1PIGSTY.el8.x86_64.rpm
icu_ext_181.10.0el8.x86_64pgdg47.4 KiBicu_ext_18-1.10.0-1PGDG.rhel8.x86_64.rpm
icu_ext_181.10.0el8.aarch64pigsty49.8 KiBicu_ext_18-1.10.0-1PIGSTY.el8.aarch64.rpm
icu_ext_181.10.0el8.aarch64pgdg46.1 KiBicu_ext_18-1.10.0-1PGDG.rhel8.aarch64.rpm
icu_ext_181.10.0el9.x86_64pigsty49.6 KiBicu_ext_18-1.10.0-1PIGSTY.el9.x86_64.rpm
icu_ext_181.10.0el9.x86_64pgdg48.6 KiBicu_ext_18-1.10.0-1PGDG.rhel9.x86_64.rpm
icu_ext_181.10.0el9.aarch64pigsty47.9 KiBicu_ext_18-1.10.0-1PIGSTY.el9.aarch64.rpm
icu_ext_181.10.0el9.aarch64pgdg46.7 KiBicu_ext_18-1.10.0-1PGDG.rhel9.aarch64.rpm
icu_ext_181.10.0el10.x86_64pigsty50.0 KiBicu_ext_18-1.10.0-1PIGSTY.el10.x86_64.rpm
icu_ext_181.10.0el10.x86_64pgdg49.2 KiBicu_ext_18-1.10.0-1PGDG.rhel10.x86_64.rpm
icu_ext_181.10.0el10.aarch64pigsty48.2 KiBicu_ext_18-1.10.0-1PIGSTY.el10.aarch64.rpm
icu_ext_181.10.0el10.aarch64pgdg47.6 KiBicu_ext_18-1.10.0-1PGDG.rhel10.aarch64.rpm
postgresql-18-icu-ext1.10.0d12.x86_64pgdg94.3 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg12+1_amd64.deb
postgresql-18-icu-ext1.10.0d12.aarch64pgdg92.2 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg12+1_arm64.deb
postgresql-18-icu-ext1.10.0d13.x86_64pgdg94.3 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg13+1_amd64.deb
postgresql-18-icu-ext1.10.0d13.aarch64pgdg92.5 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg13+1_arm64.deb
postgresql-18-icu-ext1.10.0u22.x86_64pgdg95.4 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg22.04+1_amd64.deb
postgresql-18-icu-ext1.10.0u22.aarch64pgdg92.8 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg22.04+1_arm64.deb
postgresql-18-icu-ext1.10.0u24.x86_64pgdg94.6 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg24.04+1_amd64.deb
postgresql-18-icu-ext1.10.0u24.aarch64pgdg92.8 KiBpostgresql-18-icu-ext_1.10.0-3.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
icu_ext_171.10.0el8.x86_64pigsty51.0 KiBicu_ext_17-1.10.0-1PIGSTY.el8.x86_64.rpm
icu_ext_171.9.0el8.x86_64pgdg46.4 KiBicu_ext_17-1.9.0-1PGDG.rhel8.x86_64.rpm
icu_ext_171.10.0el8.aarch64pigsty49.8 KiBicu_ext_17-1.10.0-1PIGSTY.el8.aarch64.rpm
icu_ext_171.9.0el8.aarch64pgdg45.2 KiBicu_ext_17-1.9.0-1PGDG.rhel8.aarch64.rpm
icu_ext_171.10.0el9.x86_64pigsty49.6 KiBicu_ext_17-1.10.0-1PIGSTY.el9.x86_64.rpm
icu_ext_171.9.0el9.x86_64pgdg47.7 KiBicu_ext_17-1.9.0-1PGDG.rhel9.x86_64.rpm
icu_ext_171.10.0el9.aarch64pigsty47.9 KiBicu_ext_17-1.10.0-1PIGSTY.el9.aarch64.rpm
icu_ext_171.9.0el9.aarch64pgdg46.0 KiBicu_ext_17-1.9.0-1PGDG.rhel9.aarch64.rpm
icu_ext_171.10.0el10.x86_64pigsty50.0 KiBicu_ext_17-1.10.0-1PIGSTY.el10.x86_64.rpm
icu_ext_171.9.0el10.x86_64pgdg48.0 KiBicu_ext_17-1.9.0-1PGDG.rhel10.x86_64.rpm
icu_ext_171.10.0el10.aarch64pigsty48.2 KiBicu_ext_17-1.10.0-1PIGSTY.el10.aarch64.rpm
icu_ext_171.9.0el10.aarch64pgdg46.7 KiBicu_ext_17-1.9.0-1PGDG.rhel10.aarch64.rpm
postgresql-17-icu-ext1.10.0d12.x86_64pgdg94.2 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg12+1_amd64.deb
postgresql-17-icu-ext1.10.0d12.aarch64pgdg92.3 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg12+1_arm64.deb
postgresql-17-icu-ext1.10.0d13.x86_64pgdg94.5 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg13+1_amd64.deb
postgresql-17-icu-ext1.10.0d13.aarch64pgdg92.5 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg13+1_arm64.deb
postgresql-17-icu-ext1.10.0u22.x86_64pgdg106.2 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg22.04+1_amd64.deb
postgresql-17-icu-ext1.10.0u22.aarch64pgdg103.6 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg22.04+1_arm64.deb
postgresql-17-icu-ext1.10.0u24.x86_64pgdg94.5 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg24.04+1_amd64.deb
postgresql-17-icu-ext1.10.0u24.aarch64pgdg92.5 KiBpostgresql-17-icu-ext_1.10.0-3.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
icu_ext_161.10.0el8.x86_64pigsty50.9 KiBicu_ext_16-1.10.0-1PIGSTY.el8.x86_64.rpm
icu_ext_161.9.0el8.x86_64pgdg46.4 KiBicu_ext_16-1.9.0-1PGDG.rhel8.x86_64.rpm
icu_ext_161.10.0el8.aarch64pigsty49.8 KiBicu_ext_16-1.10.0-1PIGSTY.el8.aarch64.rpm
icu_ext_161.9.0el8.aarch64pgdg45.2 KiBicu_ext_16-1.9.0-1PGDG.rhel8.aarch64.rpm
icu_ext_161.10.0el9.x86_64pigsty49.6 KiBicu_ext_16-1.10.0-1PIGSTY.el9.x86_64.rpm
icu_ext_161.9.0el9.x86_64pgdg47.7 KiBicu_ext_16-1.9.0-1PGDG.rhel9.x86_64.rpm
icu_ext_161.10.0el9.aarch64pigsty47.9 KiBicu_ext_16-1.10.0-1PIGSTY.el9.aarch64.rpm
icu_ext_161.9.0el9.aarch64pgdg45.9 KiBicu_ext_16-1.9.0-1PGDG.rhel9.aarch64.rpm
icu_ext_161.10.0el10.x86_64pigsty50.0 KiBicu_ext_16-1.10.0-1PIGSTY.el10.x86_64.rpm
icu_ext_161.9.0el10.x86_64pgdg48.0 KiBicu_ext_16-1.9.0-1PGDG.rhel10.x86_64.rpm
icu_ext_161.10.0el10.aarch64pigsty48.3 KiBicu_ext_16-1.10.0-1PIGSTY.el10.aarch64.rpm
icu_ext_161.9.0el10.aarch64pgdg46.7 KiBicu_ext_16-1.9.0-1PGDG.rhel10.aarch64.rpm
postgresql-16-icu-ext1.10.0d12.x86_64pgdg94.5 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg12+1_amd64.deb
postgresql-16-icu-ext1.10.0d12.aarch64pgdg92.3 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg12+1_arm64.deb
postgresql-16-icu-ext1.10.0d13.x86_64pgdg94.5 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg13+1_amd64.deb
postgresql-16-icu-ext1.10.0d13.aarch64pgdg92.4 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg13+1_arm64.deb
postgresql-16-icu-ext1.10.0u22.x86_64pgdg106.6 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg22.04+1_amd64.deb
postgresql-16-icu-ext1.10.0u22.aarch64pgdg103.9 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg22.04+1_arm64.deb
postgresql-16-icu-ext1.10.0u24.x86_64pgdg94.5 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg24.04+1_amd64.deb
postgresql-16-icu-ext1.10.0u24.aarch64pgdg92.7 KiBpostgresql-16-icu-ext_1.10.0-3.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
icu_ext_151.10.0el8.x86_64pigsty51.0 KiBicu_ext_15-1.10.0-1PIGSTY.el8.x86_64.rpm
icu_ext_151.9.0el8.x86_64pgdg46.5 KiBicu_ext_15-1.9.0-1PGDG.rhel8.x86_64.rpm
icu_ext_151.10.0el8.aarch64pigsty49.7 KiBicu_ext_15-1.10.0-1PIGSTY.el8.aarch64.rpm
icu_ext_151.9.0el8.aarch64pgdg45.2 KiBicu_ext_15-1.9.0-1PGDG.rhel8.aarch64.rpm
icu_ext_151.10.0el9.x86_64pigsty50.0 KiBicu_ext_15-1.10.0-1PIGSTY.el9.x86_64.rpm
icu_ext_151.9.0el9.x86_64pgdg47.8 KiBicu_ext_15-1.9.0-1PGDG.rhel9.x86_64.rpm
icu_ext_151.10.0el9.aarch64pigsty48.0 KiBicu_ext_15-1.10.0-1PIGSTY.el9.aarch64.rpm
icu_ext_151.9.0el9.aarch64pgdg46.2 KiBicu_ext_15-1.9.0-1PGDG.rhel9.aarch64.rpm
icu_ext_151.10.0el10.x86_64pigsty49.9 KiBicu_ext_15-1.10.0-1PIGSTY.el10.x86_64.rpm
icu_ext_151.9.0el10.x86_64pgdg48.1 KiBicu_ext_15-1.9.0-1PGDG.rhel10.x86_64.rpm
icu_ext_151.10.0el10.aarch64pigsty48.3 KiBicu_ext_15-1.10.0-1PIGSTY.el10.aarch64.rpm
icu_ext_151.9.0el10.aarch64pgdg46.7 KiBicu_ext_15-1.9.0-1PGDG.rhel10.aarch64.rpm
postgresql-15-icu-ext1.10.0d12.x86_64pgdg94.3 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg12+1_amd64.deb
postgresql-15-icu-ext1.10.0d12.aarch64pgdg92.3 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg12+1_arm64.deb
postgresql-15-icu-ext1.10.0d13.x86_64pgdg94.4 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg13+1_amd64.deb
postgresql-15-icu-ext1.10.0d13.aarch64pgdg92.0 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg13+1_arm64.deb
postgresql-15-icu-ext1.10.0u22.x86_64pgdg106.3 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg22.04+1_amd64.deb
postgresql-15-icu-ext1.10.0u22.aarch64pgdg103.5 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg22.04+1_arm64.deb
postgresql-15-icu-ext1.10.0u24.x86_64pgdg94.4 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg24.04+1_amd64.deb
postgresql-15-icu-ext1.10.0u24.aarch64pgdg92.5 KiBpostgresql-15-icu-ext_1.10.0-3.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
icu_ext_141.10.0el8.x86_64pigsty51.2 KiBicu_ext_14-1.10.0-1PIGSTY.el8.x86_64.rpm
icu_ext_141.9.0el8.x86_64pgdg46.6 KiBicu_ext_14-1.9.0-1PGDG.rhel8.x86_64.rpm
icu_ext_141.10.0el8.aarch64pigsty49.9 KiBicu_ext_14-1.10.0-1PIGSTY.el8.aarch64.rpm
icu_ext_141.9.0el8.aarch64pgdg45.3 KiBicu_ext_14-1.9.0-1PGDG.rhel8.aarch64.rpm
icu_ext_141.10.0el9.x86_64pigsty50.0 KiBicu_ext_14-1.10.0-1PIGSTY.el9.x86_64.rpm
icu_ext_141.9.0el9.x86_64pgdg48.0 KiBicu_ext_14-1.9.0-1PGDG.rhel9.x86_64.rpm
icu_ext_141.10.0el9.aarch64pigsty48.2 KiBicu_ext_14-1.10.0-1PIGSTY.el9.aarch64.rpm
icu_ext_141.9.0el9.aarch64pgdg46.3 KiBicu_ext_14-1.9.0-1PGDG.rhel9.aarch64.rpm
icu_ext_141.10.0el10.x86_64pigsty49.9 KiBicu_ext_14-1.10.0-1PIGSTY.el10.x86_64.rpm
icu_ext_141.9.0el10.x86_64pgdg48.2 KiBicu_ext_14-1.9.0-1PGDG.rhel10.x86_64.rpm
icu_ext_141.10.0el10.aarch64pigsty48.4 KiBicu_ext_14-1.10.0-1PIGSTY.el10.aarch64.rpm
icu_ext_141.9.0el10.aarch64pgdg46.8 KiBicu_ext_14-1.9.0-1PGDG.rhel10.aarch64.rpm
postgresql-14-icu-ext1.10.0d12.x86_64pgdg94.7 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg12+1_amd64.deb
postgresql-14-icu-ext1.10.0d12.aarch64pgdg92.5 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg12+1_arm64.deb
postgresql-14-icu-ext1.10.0d13.x86_64pgdg94.9 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg13+1_amd64.deb
postgresql-14-icu-ext1.10.0d13.aarch64pgdg92.6 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg13+1_arm64.deb
postgresql-14-icu-ext1.10.0u22.x86_64pgdg107.0 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg22.04+1_amd64.deb
postgresql-14-icu-ext1.10.0u22.aarch64pgdg104.2 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg22.04+1_arm64.deb
postgresql-14-icu-ext1.10.0u24.x86_64pgdg95.0 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg24.04+1_amd64.deb
postgresql-14-icu-ext1.10.0u24.aarch64pgdg92.6 KiBpostgresql-14-icu-ext_1.10.0-3.pgdg24.04+1_arm64.deb

Source

pig build pkg icu_ext;		# build rpm

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install icu_ext;		# install via package name, for the active PG version

pig install icu_ext -v 18;   # install for PG 18
pig install icu_ext -v 17;   # install for PG 17
pig install icu_ext -v 16;   # install for PG 16
pig install icu_ext -v 15;   # install for PG 15
pig install icu_ext -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION icu_ext;

Usage

icu_ext: ICU extension functions for PostgreSQL

Exposes ICU functionality to PostgreSQL. Requires PostgreSQL 11+ configured with ICU (--with-icu).

Version Info

SELECT icu_version();           -- ICU library version
SELECT icu_unicode_version();   -- Unicode standard version

Locale Functions

SELECT * FROM icu_locales_list() WHERE name LIKE 'es%' LIMIT 5;
SELECT icu_default_locale();
SELECT icu_set_default_locale('en');

Collation Attributes

SELECT * FROM icu_collation_attributes('fr-u-ks-level2-kn');

String Comparison

-- Case-sensitive, accent-insensitive comparison:
SELECT icu_compare('abce', 'abce', 'en-u-ks-level1-kc-true');  -- 0
SELECT icu_compare('Abce', 'abce', 'en-u-ks-level1-kc-true');  -- 1

Sort Keys (for unique indexes)

CREATE UNIQUE INDEX idx ON my_table((icu_sort_key(name, 'fr-u-ks-level1')));

Text Boundary Analysis

SELECT * FROM icu_character_boundaries('Hello', 'en');
SELECT * FROM icu_word_boundaries('I like books', 'en');
SELECT * FROM icu_sentence_boundaries('Mr. Smith went home. He was tired.', 'en');
SELECT * FROM icu_line_boundaries('Long text here', 'en');

Unicode Normalization and Transformation

SELECT icu_normalize('text', 'NFC');
SELECT icu_is_normalized('text', 'NFC');
SELECT icu_transform('Hello', 'Latin-Cyrillic');
SELECT * FROM icu_transforms_list();

Number Spellout

SELECT icu_number_spellout(42, 'en');   -- 'forty-two'
SELECT icu_number_spellout(42, 'fr');   -- 'quarante-deux'

Spoof and Confusable Detection

SELECT icu_spoof_check('paypal');
SELECT icu_confusable_strings_check('google', 'gооgle');

Character Info

SELECT icu_char_name('A');
SELECT icu_char_type('A');
Last updated on