prefix

prefix

pg_prefix : Prefix Range module for PostgreSQL

Overview

ID Extension Package Version Category License Language
3500
prefix
pg_prefix
1.2.10
TYPE
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
semver
ltree
citext
pg_trgm
unit
pgpdf
pglite_fusion
md5hash

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PGDG
1.2.10
18
17
16
15
14
pg_prefix -
RPM
PGDG
1.2.10
18
17
16
15
14
prefix_$v -
DEB
PGDG
1.2.10
18
17
16
15
14
postgresql-$v-prefix -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
el8.aarch64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
el9.x86_64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
el9.aarch64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
el10.x86_64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
el10.aarch64
PIGSTY 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
d12.x86_64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
d12.aarch64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
d13.x86_64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
d13.aarch64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
u22.x86_64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
u22.aarch64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
u24.x86_64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
u24.aarch64
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
PGDG 1.2.10
Package Version OS ORG SIZE File URL
prefix_18 1.2.10 el8.x86_64 pigsty 29.6 KiB prefix_18-1.2.10-1PIGSTY.el8.x86_64.rpm
prefix_18 1.2.10 el8.aarch64 pigsty 27.9 KiB prefix_18-1.2.10-1PIGSTY.el8.aarch64.rpm
prefix_18 1.2.10 el9.x86_64 pigsty 27.6 KiB prefix_18-1.2.10-1PIGSTY.el9.x86_64.rpm
prefix_18 1.2.10 el9.aarch64 pigsty 26.9 KiB prefix_18-1.2.10-1PIGSTY.el9.aarch64.rpm
prefix_18 1.2.10 el10.x86_64 pigsty 27.9 KiB prefix_18-1.2.10-1PIGSTY.el10.x86_64.rpm
prefix_18 1.2.10 el10.aarch64 pigsty 27.1 KiB prefix_18-1.2.10-1PIGSTY.el10.aarch64.rpm
postgresql-18-prefix 1.2.10 d12.x86_64 pgdg 40.2 KiB postgresql-18-prefix_1.2.10-4.pgdg12+1_amd64.deb
postgresql-18-prefix 1.2.10 d12.aarch64 pgdg 39.2 KiB postgresql-18-prefix_1.2.10-4.pgdg12+1_arm64.deb
postgresql-18-prefix 1.2.10 d13.x86_64 pgdg 40.3 KiB postgresql-18-prefix_1.2.10-4.pgdg13+1_amd64.deb
postgresql-18-prefix 1.2.10 d13.aarch64 pgdg 39.3 KiB postgresql-18-prefix_1.2.10-4.pgdg13+1_arm64.deb
postgresql-18-prefix 1.2.10 u22.x86_64 pgdg 42.9 KiB postgresql-18-prefix_1.2.10-4.pgdg22.04+1_amd64.deb
postgresql-18-prefix 1.2.10 u22.aarch64 pgdg 41.7 KiB postgresql-18-prefix_1.2.10-4.pgdg22.04+1_arm64.deb
postgresql-18-prefix 1.2.10 u24.x86_64 pgdg 40.2 KiB postgresql-18-prefix_1.2.10-4.pgdg24.04+1_amd64.deb
postgresql-18-prefix 1.2.10 u24.aarch64 pgdg 39.2 KiB postgresql-18-prefix_1.2.10-4.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
prefix_17 1.2.10 el8.x86_64 pgdg 30.1 KiB prefix_17-1.2.10-2PGDG.rhel8.x86_64.rpm
prefix_17 1.2.10 el8.aarch64 pgdg 28.3 KiB prefix_17-1.2.10-2PGDG.rhel8.aarch64.rpm
prefix_17 1.2.10 el9.x86_64 pgdg 27.6 KiB prefix_17-1.2.10-2PGDG.rhel9.x86_64.rpm
prefix_17 1.2.10 el9.aarch64 pgdg 26.7 KiB prefix_17-1.2.10-2PGDG.rhel9.aarch64.rpm
prefix_17 1.2.10 el10.x86_64 pgdg 28.3 KiB prefix_17-1.2.10-3PGDG.rhel10.x86_64.rpm
prefix_17 1.2.10 el10.aarch64 pgdg 27.4 KiB prefix_17-1.2.10-3PGDG.rhel10.aarch64.rpm
postgresql-17-prefix 1.2.10 d12.x86_64 pgdg 40.2 KiB postgresql-17-prefix_1.2.10-4.pgdg12+1_amd64.deb
postgresql-17-prefix 1.2.10 d12.aarch64 pgdg 39.2 KiB postgresql-17-prefix_1.2.10-4.pgdg12+1_arm64.deb
postgresql-17-prefix 1.2.10 d13.x86_64 pgdg 40.3 KiB postgresql-17-prefix_1.2.10-4.pgdg13+1_amd64.deb
postgresql-17-prefix 1.2.10 d13.aarch64 pgdg 39.3 KiB postgresql-17-prefix_1.2.10-4.pgdg13+1_arm64.deb
postgresql-17-prefix 1.2.10 u22.x86_64 pgdg 43.9 KiB postgresql-17-prefix_1.2.10-4.pgdg22.04+1_amd64.deb
postgresql-17-prefix 1.2.10 u22.aarch64 pgdg 42.8 KiB postgresql-17-prefix_1.2.10-4.pgdg22.04+1_arm64.deb
postgresql-17-prefix 1.2.10 u24.x86_64 pgdg 40.2 KiB postgresql-17-prefix_1.2.10-4.pgdg24.04+1_amd64.deb
postgresql-17-prefix 1.2.10 u24.aarch64 pgdg 39.3 KiB postgresql-17-prefix_1.2.10-4.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
prefix_16 1.2.10 el8.x86_64 pgdg 30.0 KiB prefix_16-1.2.10-1PGDG.rhel8.x86_64.rpm
prefix_16 1.2.10 el8.aarch64 pgdg 28.2 KiB prefix_16-1.2.10-1PGDG.rhel8.aarch64.rpm
prefix_16 1.2.10 el9.x86_64 pgdg 27.4 KiB prefix_16-1.2.10-1PGDG.rhel9.x86_64.rpm
prefix_16 1.2.10 el9.aarch64 pgdg 26.4 KiB prefix_16-1.2.10-1PGDG.rhel9.aarch64.rpm
prefix_16 1.2.10 el10.x86_64 pgdg 28.3 KiB prefix_16-1.2.10-3PGDG.rhel10.x86_64.rpm
prefix_16 1.2.10 el10.aarch64 pgdg 27.4 KiB prefix_16-1.2.10-3PGDG.rhel10.aarch64.rpm
postgresql-16-prefix 1.2.10 d12.x86_64 pgdg 40.3 KiB postgresql-16-prefix_1.2.10-4.pgdg12+1_amd64.deb
postgresql-16-prefix 1.2.10 d12.aarch64 pgdg 39.3 KiB postgresql-16-prefix_1.2.10-4.pgdg12+1_arm64.deb
postgresql-16-prefix 1.2.10 d13.x86_64 pgdg 40.3 KiB postgresql-16-prefix_1.2.10-4.pgdg13+1_amd64.deb
postgresql-16-prefix 1.2.10 d13.aarch64 pgdg 39.3 KiB postgresql-16-prefix_1.2.10-4.pgdg13+1_arm64.deb
postgresql-16-prefix 1.2.10 u22.x86_64 pgdg 44.0 KiB postgresql-16-prefix_1.2.10-4.pgdg22.04+1_amd64.deb
postgresql-16-prefix 1.2.10 u22.aarch64 pgdg 42.8 KiB postgresql-16-prefix_1.2.10-4.pgdg22.04+1_arm64.deb
postgresql-16-prefix 1.2.10 u24.x86_64 pgdg 40.2 KiB postgresql-16-prefix_1.2.10-4.pgdg24.04+1_amd64.deb
postgresql-16-prefix 1.2.10 u24.aarch64 pgdg 39.3 KiB postgresql-16-prefix_1.2.10-4.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
prefix_15 1.2.10 el8.x86_64 pgdg 30.0 KiB prefix_15-1.2.10-1PGDG.rhel8.x86_64.rpm
prefix_15 1.2.9 el8.x86_64 pgdg 51.8 KiB prefix_15-1.2.9-3.rhel8.x86_64.rpm
prefix_15 1.2.10 el8.aarch64 pgdg 28.2 KiB prefix_15-1.2.10-1PGDG.rhel8.aarch64.rpm
prefix_15 1.2.9 el8.aarch64 pgdg 49.9 KiB prefix_15-1.2.9-3.rhel8.aarch64.rpm
prefix_15 1.2.10 el9.x86_64 pgdg 27.4 KiB prefix_15-1.2.10-1PGDG.rhel9.x86_64.rpm
prefix_15 1.2.9 el9.x86_64 pgdg 50.5 KiB prefix_15-1.2.9-3.rhel9.x86_64.rpm
prefix_15 1.2.10 el9.aarch64 pgdg 26.4 KiB prefix_15-1.2.10-1PGDG.rhel9.aarch64.rpm
prefix_15 1.2.9 el9.aarch64 pgdg 49.3 KiB prefix_15-1.2.9-3.rhel9.aarch64.rpm
prefix_15 1.2.10 el10.x86_64 pgdg 28.3 KiB prefix_15-1.2.10-3PGDG.rhel10.x86_64.rpm
prefix_15 1.2.10 el10.aarch64 pgdg 27.4 KiB prefix_15-1.2.10-3PGDG.rhel10.aarch64.rpm
postgresql-15-prefix 1.2.10 d12.x86_64 pgdg 40.3 KiB postgresql-15-prefix_1.2.10-4.pgdg12+1_amd64.deb
postgresql-15-prefix 1.2.10 d12.aarch64 pgdg 39.2 KiB postgresql-15-prefix_1.2.10-4.pgdg12+1_arm64.deb
postgresql-15-prefix 1.2.10 d13.x86_64 pgdg 40.3 KiB postgresql-15-prefix_1.2.10-4.pgdg13+1_amd64.deb
postgresql-15-prefix 1.2.10 d13.aarch64 pgdg 39.4 KiB postgresql-15-prefix_1.2.10-4.pgdg13+1_arm64.deb
postgresql-15-prefix 1.2.10 u22.x86_64 pgdg 44.0 KiB postgresql-15-prefix_1.2.10-4.pgdg22.04+1_amd64.deb
postgresql-15-prefix 1.2.10 u22.aarch64 pgdg 42.9 KiB postgresql-15-prefix_1.2.10-4.pgdg22.04+1_arm64.deb
postgresql-15-prefix 1.2.10 u24.x86_64 pgdg 40.2 KiB postgresql-15-prefix_1.2.10-4.pgdg24.04+1_amd64.deb
postgresql-15-prefix 1.2.10 u24.aarch64 pgdg 39.3 KiB postgresql-15-prefix_1.2.10-4.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
prefix_14 1.2.10 el8.x86_64 pgdg 30.0 KiB prefix_14-1.2.10-1PGDG.rhel8.x86_64.rpm
prefix_14 1.2.9 el8.x86_64 pgdg 51.7 KiB prefix_14-1.2.9-3.rhel8.x86_64.rpm
prefix_14 1.2.10 el8.aarch64 pgdg 28.2 KiB prefix_14-1.2.10-1PGDG.rhel8.aarch64.rpm
prefix_14 1.2.9 el8.aarch64 pgdg 49.7 KiB prefix_14-1.2.9-3.rhel8.aarch64.rpm
prefix_14 1.2.10 el9.x86_64 pgdg 27.4 KiB prefix_14-1.2.10-1PGDG.rhel9.x86_64.rpm
prefix_14 1.2.10 el9.aarch64 pgdg 26.4 KiB prefix_14-1.2.10-1PGDG.rhel9.aarch64.rpm
prefix_14 1.2.9 el9.aarch64 pgdg 49.1 KiB prefix_14-1.2.9-3.rhel9.aarch64.rpm
prefix_14 1.2.10 el10.x86_64 pgdg 28.3 KiB prefix_14-1.2.10-3PGDG.rhel10.x86_64.rpm
prefix_14 1.2.10 el10.aarch64 pgdg 27.4 KiB prefix_14-1.2.10-3PGDG.rhel10.aarch64.rpm
postgresql-14-prefix 1.2.10 d12.x86_64 pgdg 40.2 KiB postgresql-14-prefix_1.2.10-4.pgdg12+1_amd64.deb
postgresql-14-prefix 1.2.10 d12.aarch64 pgdg 39.2 KiB postgresql-14-prefix_1.2.10-4.pgdg12+1_arm64.deb
postgresql-14-prefix 1.2.10 d13.x86_64 pgdg 40.3 KiB postgresql-14-prefix_1.2.10-4.pgdg13+1_amd64.deb
postgresql-14-prefix 1.2.10 d13.aarch64 pgdg 39.3 KiB postgresql-14-prefix_1.2.10-4.pgdg13+1_arm64.deb
postgresql-14-prefix 1.2.10 u22.x86_64 pgdg 43.8 KiB postgresql-14-prefix_1.2.10-4.pgdg22.04+1_amd64.deb
postgresql-14-prefix 1.2.10 u22.aarch64 pgdg 42.8 KiB postgresql-14-prefix_1.2.10-4.pgdg22.04+1_arm64.deb
postgresql-14-prefix 1.2.10 u24.x86_64 pgdg 40.2 KiB postgresql-14-prefix_1.2.10-4.pgdg24.04+1_amd64.deb
postgresql-14-prefix 1.2.10 u24.aarch64 pgdg 39.2 KiB postgresql-14-prefix_1.2.10-4.pgdg24.04+1_arm64.deb

Source

pig build pkg pg_prefix;		# build rpm

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install pg_prefix;		# install via package name, for the active PG version
pig install prefix;		# install by extension name, for the current active PG version

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

Create this extension with:

CREATE EXTENSION prefix;

Usage

prefix: prefix range type for phone number routing

The prefix extension provides a prefix_range data type for efficient prefix matching, particularly useful for telephony call routing.

Data Type

Create prefix_range values using the constructor or text casting:

CREATE EXTENSION prefix;

SELECT prefix_range('123');           -- 123
SELECT prefix_range('123', '4', '5'); -- 123[4-5]
SELECT '123'::prefix_range;           -- 123

Operators

Operator Description
@> Contains (prefix contains value)
<@ Is contained by
&& Overlaps
| Union
& Intersection
=, <>, <, >, <=, >= Comparison

Examples

-- Find the longest matching prefix for a phone number
SELECT * FROM prefixes
WHERE prefix @> '0123456789'
ORDER BY length(prefix) DESC
LIMIT 1;

-- Containment check
SELECT '123'::prefix_range @> '123456';     -- true

-- Intersection
SELECT '123[4-5]' & '123[2-7]';            -- 123[4-5]

-- Union
SELECT '123' | '124';                       -- 12[3-4]

Index Support

Create a GiST index for efficient prefix lookups:

CREATE INDEX idx_prefix ON prefixes USING gist(prefix);

The index accelerates @>, <@, &&, and = operators.

Last updated on