pgpcre

pgpcre

pgpcre : Perl Compatible Regular Expression functions

Overview

ID Extension Package Version Category License Language
4230
pgpcre
pgpcre
0.20190509
UTIL
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
icu_ext
fuzzystrmatch
pg_trgm
gzip
bzip
zstd
http
pg_net

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
MIXED
0.20190509
18
17
16
15
14
pgpcre -
RPM
PIGSTY
0.20190509
18
17
16
15
14
pgpcre_$v -
DEB
PGDG
0.20190509
18
17
16
15
14
postgresql-$v-pgpcre -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PGDG 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
el8.aarch64
PGDG 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
el9.x86_64
PGDG 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
el9.aarch64
PGDG 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
PIGSTY 0.20190509
el10.x86_64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
el10.aarch64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
d12.x86_64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
d12.aarch64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
d13.x86_64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
d13.aarch64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
u22.x86_64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
u22.aarch64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
u24.x86_64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
u24.aarch64
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
PGDG 0.20190509
Package Version OS ORG SIZE File URL
pgpcre_18 0.20190509 el8.x86_64 pgdg 17.4 KiB pgpcre_18-0.20190509-3PGDG.rhel8.x86_64.rpm
pgpcre_18 0.20190509 el8.x86_64 pigsty 16.4 KiB pgpcre_18-0.20190509-1PIGSTY.el8.x86_64.rpm
pgpcre_18 0.20190509 el8.aarch64 pgdg 17.2 KiB pgpcre_18-0.20190509-3PGDG.rhel8.aarch64.rpm
pgpcre_18 0.20190509 el8.aarch64 pigsty 16.5 KiB pgpcre_18-0.20190509-1PIGSTY.el8.aarch64.rpm
pgpcre_18 0.20190509 el9.x86_64 pgdg 17.6 KiB pgpcre_18-0.20190509-3PGDG.rhel9.x86_64.rpm
pgpcre_18 0.20190509 el9.x86_64 pigsty 16.3 KiB pgpcre_18-0.20190509-1PIGSTY.el9.x86_64.rpm
pgpcre_18 0.20190509 el9.aarch64 pgdg 17.2 KiB pgpcre_18-0.20190509-3PGDG.rhel9.aarch64.rpm
pgpcre_18 0.20190509 el9.aarch64 pigsty 16.2 KiB pgpcre_18-0.20190509-1PIGSTY.el9.aarch64.rpm
pgpcre_18 0.20190509 el10.x86_64 pgdg 18.1 KiB pgpcre_18-0.20190509-4PGDG.rhel10.x86_64.rpm
pgpcre_18 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_18-0.20190509-3PGDG.rhel10.x86_64.rpm
pgpcre_18 0.20190509 el10.aarch64 pgdg 18.0 KiB pgpcre_18-0.20190509-4PGDG.rhel10.aarch64.rpm
pgpcre_18 0.20190509 el10.aarch64 pgdg 17.9 KiB pgpcre_18-0.20190509-3PGDG.rhel10.aarch64.rpm
postgresql-18-pgpcre 0.20190509 d12.x86_64 pgdg 18.1 KiB postgresql-18-pgpcre_0.20190509-9.pgdg12+1_amd64.deb
postgresql-18-pgpcre 0.20190509 d12.aarch64 pgdg 18.2 KiB postgresql-18-pgpcre_0.20190509-9.pgdg12+1_arm64.deb
postgresql-18-pgpcre 0.20190509 d13.x86_64 pgdg 18.2 KiB postgresql-18-pgpcre_0.20190509-9.pgdg13+1_amd64.deb
postgresql-18-pgpcre 0.20190509 d13.aarch64 pgdg 18.2 KiB postgresql-18-pgpcre_0.20190509-9.pgdg13+1_arm64.deb
postgresql-18-pgpcre 0.20190509 u22.x86_64 pgdg 18.3 KiB postgresql-18-pgpcre_0.20190509-9.pgdg22.04+1_amd64.deb
postgresql-18-pgpcre 0.20190509 u22.aarch64 pgdg 18.0 KiB postgresql-18-pgpcre_0.20190509-9.pgdg22.04+1_arm64.deb
postgresql-18-pgpcre 0.20190509 u24.x86_64 pgdg 18.2 KiB postgresql-18-pgpcre_0.20190509-9.pgdg24.04+1_amd64.deb
postgresql-18-pgpcre 0.20190509 u24.aarch64 pgdg 18.2 KiB postgresql-18-pgpcre_0.20190509-9.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pgpcre_17 0.20190509 el8.x86_64 pigsty 16.4 KiB pgpcre_17-0.20190509-1PIGSTY.el8.x86_64.rpm
pgpcre_17 0.20190509 el8.x86_64 pgdg 17.1 KiB pgpcre_17-0.20190509-1PGDG.rhel8.x86_64.rpm
pgpcre_17 0.20190509 el8.aarch64 pigsty 16.5 KiB pgpcre_17-0.20190509-1PIGSTY.el8.aarch64.rpm
pgpcre_17 0.20190509 el8.aarch64 pgdg 17.0 KiB pgpcre_17-0.20190509-1PGDG.rhel8.aarch64.rpm
pgpcre_17 0.20190509 el9.x86_64 pigsty 16.3 KiB pgpcre_17-0.20190509-1PIGSTY.el9.x86_64.rpm
pgpcre_17 0.20190509 el9.x86_64 pgdg 17.3 KiB pgpcre_17-0.20190509-1PGDG.rhel9.x86_64.rpm
pgpcre_17 0.20190509 el9.aarch64 pigsty 16.2 KiB pgpcre_17-0.20190509-1PIGSTY.el9.aarch64.rpm
pgpcre_17 0.20190509 el9.aarch64 pgdg 17.1 KiB pgpcre_17-0.20190509-1PGDG.rhel9.aarch64.rpm
pgpcre_17 0.20190509 el10.x86_64 pgdg 18.1 KiB pgpcre_17-0.20190509-4PGDG.rhel10.x86_64.rpm
pgpcre_17 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_17-0.20190509-3PGDG.rhel10.x86_64.rpm
pgpcre_17 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_17-0.20190509-2PGDG.rhel10.x86_64.rpm
pgpcre_17 0.20190509 el10.aarch64 pgdg 18.0 KiB pgpcre_17-0.20190509-4PGDG.rhel10.aarch64.rpm
pgpcre_17 0.20190509 el10.aarch64 pgdg 17.9 KiB pgpcre_17-0.20190509-3PGDG.rhel10.aarch64.rpm
pgpcre_17 0.20190509 el10.aarch64 pgdg 17.8 KiB pgpcre_17-0.20190509-2PGDG.rhel10.aarch64.rpm
postgresql-17-pgpcre 0.20190509 d12.x86_64 pgdg 18.0 KiB postgresql-17-pgpcre_0.20190509-9.pgdg12+1_amd64.deb
postgresql-17-pgpcre 0.20190509 d12.aarch64 pgdg 18.1 KiB postgresql-17-pgpcre_0.20190509-9.pgdg12+1_arm64.deb
postgresql-17-pgpcre 0.20190509 d13.x86_64 pgdg 18.2 KiB postgresql-17-pgpcre_0.20190509-9.pgdg13+1_amd64.deb
postgresql-17-pgpcre 0.20190509 d13.aarch64 pgdg 18.2 KiB postgresql-17-pgpcre_0.20190509-9.pgdg13+1_arm64.deb
postgresql-17-pgpcre 0.20190509 u22.x86_64 pgdg 18.9 KiB postgresql-17-pgpcre_0.20190509-9.pgdg22.04+1_amd64.deb
postgresql-17-pgpcre 0.20190509 u22.aarch64 pgdg 18.6 KiB postgresql-17-pgpcre_0.20190509-9.pgdg22.04+1_arm64.deb
postgresql-17-pgpcre 0.20190509 u24.x86_64 pgdg 18.1 KiB postgresql-17-pgpcre_0.20190509-9.pgdg24.04+1_amd64.deb
postgresql-17-pgpcre 0.20190509 u24.aarch64 pgdg 18.2 KiB postgresql-17-pgpcre_0.20190509-9.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pgpcre_16 0.20190509 el8.x86_64 pigsty 16.4 KiB pgpcre_16-0.20190509-1PIGSTY.el8.x86_64.rpm
pgpcre_16 0.20190509 el8.x86_64 pgdg 17.1 KiB pgpcre_16-0.20190509-1PGDG.rhel8.x86_64.rpm
pgpcre_16 0.20190509 el8.aarch64 pigsty 16.5 KiB pgpcre_16-0.20190509-1PIGSTY.el8.aarch64.rpm
pgpcre_16 0.20190509 el8.aarch64 pgdg 17.0 KiB pgpcre_16-0.20190509-1PGDG.rhel8.aarch64.rpm
pgpcre_16 0.20190509 el9.x86_64 pigsty 16.3 KiB pgpcre_16-0.20190509-1PIGSTY.el9.x86_64.rpm
pgpcre_16 0.20190509 el9.x86_64 pgdg 17.3 KiB pgpcre_16-0.20190509-1PGDG.rhel9.x86_64.rpm
pgpcre_16 0.20190509 el9.aarch64 pigsty 16.2 KiB pgpcre_16-0.20190509-1PIGSTY.el9.aarch64.rpm
pgpcre_16 0.20190509 el9.aarch64 pgdg 17.1 KiB pgpcre_16-0.20190509-1PGDG.rhel9.aarch64.rpm
pgpcre_16 0.20190509 el10.x86_64 pgdg 18.1 KiB pgpcre_16-0.20190509-4PGDG.rhel10.x86_64.rpm
pgpcre_16 0.20190509 el10.x86_64 pgdg 17.9 KiB pgpcre_16-0.20190509-3PGDG.rhel10.x86_64.rpm
pgpcre_16 0.20190509 el10.x86_64 pgdg 17.9 KiB pgpcre_16-0.20190509-2PGDG.rhel10.x86_64.rpm
pgpcre_16 0.20190509 el10.aarch64 pgdg 18.0 KiB pgpcre_16-0.20190509-4PGDG.rhel10.aarch64.rpm
pgpcre_16 0.20190509 el10.aarch64 pgdg 17.9 KiB pgpcre_16-0.20190509-3PGDG.rhel10.aarch64.rpm
pgpcre_16 0.20190509 el10.aarch64 pgdg 17.8 KiB pgpcre_16-0.20190509-2PGDG.rhel10.aarch64.rpm
postgresql-16-pgpcre 0.20190509 d12.x86_64 pgdg 18.0 KiB postgresql-16-pgpcre_0.20190509-9.pgdg12+1_amd64.deb
postgresql-16-pgpcre 0.20190509 d12.aarch64 pgdg 18.1 KiB postgresql-16-pgpcre_0.20190509-9.pgdg12+1_arm64.deb
postgresql-16-pgpcre 0.20190509 d13.x86_64 pgdg 18.2 KiB postgresql-16-pgpcre_0.20190509-9.pgdg13+1_amd64.deb
postgresql-16-pgpcre 0.20190509 d13.aarch64 pgdg 18.2 KiB postgresql-16-pgpcre_0.20190509-9.pgdg13+1_arm64.deb
postgresql-16-pgpcre 0.20190509 u22.x86_64 pgdg 18.9 KiB postgresql-16-pgpcre_0.20190509-9.pgdg22.04+1_amd64.deb
postgresql-16-pgpcre 0.20190509 u22.aarch64 pgdg 18.6 KiB postgresql-16-pgpcre_0.20190509-9.pgdg22.04+1_arm64.deb
postgresql-16-pgpcre 0.20190509 u24.x86_64 pgdg 18.1 KiB postgresql-16-pgpcre_0.20190509-9.pgdg24.04+1_amd64.deb
postgresql-16-pgpcre 0.20190509 u24.aarch64 pgdg 18.2 KiB postgresql-16-pgpcre_0.20190509-9.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pgpcre_15 0.20190509 el8.x86_64 pigsty 16.4 KiB pgpcre_15-0.20190509-1PIGSTY.el8.x86_64.rpm
pgpcre_15 0.20190509 el8.x86_64 pgdg 17.1 KiB pgpcre_15-0.20190509-1PGDG.rhel8.x86_64.rpm
pgpcre_15 0.20190509 el8.aarch64 pigsty 16.5 KiB pgpcre_15-0.20190509-1PIGSTY.el8.aarch64.rpm
pgpcre_15 0.20190509 el8.aarch64 pgdg 17.0 KiB pgpcre_15-0.20190509-1PGDG.rhel8.aarch64.rpm
pgpcre_15 0.20190509 el9.x86_64 pigsty 16.3 KiB pgpcre_15-0.20190509-1PIGSTY.el9.x86_64.rpm
pgpcre_15 0.20190509 el9.x86_64 pgdg 17.3 KiB pgpcre_15-0.20190509-1PGDG.rhel9.x86_64.rpm
pgpcre_15 0.20190509 el9.aarch64 pigsty 16.3 KiB pgpcre_15-0.20190509-1PIGSTY.el9.aarch64.rpm
pgpcre_15 0.20190509 el9.aarch64 pgdg 17.1 KiB pgpcre_15-0.20190509-1PGDG.rhel9.aarch64.rpm
pgpcre_15 0.20190509 el10.x86_64 pgdg 18.1 KiB pgpcre_15-0.20190509-4PGDG.rhel10.x86_64.rpm
pgpcre_15 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_15-0.20190509-3PGDG.rhel10.x86_64.rpm
pgpcre_15 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_15-0.20190509-2PGDG.rhel10.x86_64.rpm
pgpcre_15 0.20190509 el10.aarch64 pgdg 18.0 KiB pgpcre_15-0.20190509-4PGDG.rhel10.aarch64.rpm
pgpcre_15 0.20190509 el10.aarch64 pgdg 17.9 KiB pgpcre_15-0.20190509-3PGDG.rhel10.aarch64.rpm
pgpcre_15 0.20190509 el10.aarch64 pgdg 17.8 KiB pgpcre_15-0.20190509-2PGDG.rhel10.aarch64.rpm
postgresql-15-pgpcre 0.20190509 d12.x86_64 pgdg 18.0 KiB postgresql-15-pgpcre_0.20190509-9.pgdg12+1_amd64.deb
postgresql-15-pgpcre 0.20190509 d12.aarch64 pgdg 18.1 KiB postgresql-15-pgpcre_0.20190509-9.pgdg12+1_arm64.deb
postgresql-15-pgpcre 0.20190509 d13.x86_64 pgdg 18.2 KiB postgresql-15-pgpcre_0.20190509-9.pgdg13+1_amd64.deb
postgresql-15-pgpcre 0.20190509 d13.aarch64 pgdg 18.2 KiB postgresql-15-pgpcre_0.20190509-9.pgdg13+1_arm64.deb
postgresql-15-pgpcre 0.20190509 u22.x86_64 pgdg 18.9 KiB postgresql-15-pgpcre_0.20190509-9.pgdg22.04+1_amd64.deb
postgresql-15-pgpcre 0.20190509 u22.aarch64 pgdg 18.6 KiB postgresql-15-pgpcre_0.20190509-9.pgdg22.04+1_arm64.deb
postgresql-15-pgpcre 0.20190509 u24.x86_64 pgdg 18.1 KiB postgresql-15-pgpcre_0.20190509-9.pgdg24.04+1_amd64.deb
postgresql-15-pgpcre 0.20190509 u24.aarch64 pgdg 18.2 KiB postgresql-15-pgpcre_0.20190509-9.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pgpcre_14 0.20190509 el8.x86_64 pigsty 16.4 KiB pgpcre_14-0.20190509-1PIGSTY.el8.x86_64.rpm
pgpcre_14 0.20190509 el8.x86_64 pgdg 17.0 KiB pgpcre_14-0.20190509-1PGDG.rhel8.x86_64.rpm
pgpcre_14 0.20190509 el8.aarch64 pigsty 16.5 KiB pgpcre_14-0.20190509-1PIGSTY.el8.aarch64.rpm
pgpcre_14 0.20190509 el8.aarch64 pgdg 17.0 KiB pgpcre_14-0.20190509-1PGDG.rhel8.aarch64.rpm
pgpcre_14 0.20190509 el9.x86_64 pigsty 16.3 KiB pgpcre_14-0.20190509-1PIGSTY.el9.x86_64.rpm
pgpcre_14 0.20190509 el9.x86_64 pgdg 17.3 KiB pgpcre_14-0.20190509-1PGDG.rhel9.x86_64.rpm
pgpcre_14 0.20190509 el9.aarch64 pigsty 16.2 KiB pgpcre_14-0.20190509-1PIGSTY.el9.aarch64.rpm
pgpcre_14 0.20190509 el9.aarch64 pgdg 17.1 KiB pgpcre_14-0.20190509-1PGDG.rhel9.aarch64.rpm
pgpcre_14 0.20190509 el10.x86_64 pgdg 18.0 KiB pgpcre_14-0.20190509-4PGDG.rhel10.x86_64.rpm
pgpcre_14 0.20190509 el10.x86_64 pgdg 17.9 KiB pgpcre_14-0.20190509-3PGDG.rhel10.x86_64.rpm
pgpcre_14 0.20190509 el10.x86_64 pgdg 17.8 KiB pgpcre_14-0.20190509-2PGDG.rhel10.x86_64.rpm
pgpcre_14 0.20190509 el10.aarch64 pgdg 18.0 KiB pgpcre_14-0.20190509-4PGDG.rhel10.aarch64.rpm
pgpcre_14 0.20190509 el10.aarch64 pgdg 17.9 KiB pgpcre_14-0.20190509-3PGDG.rhel10.aarch64.rpm
pgpcre_14 0.20190509 el10.aarch64 pgdg 17.8 KiB pgpcre_14-0.20190509-2PGDG.rhel10.aarch64.rpm
postgresql-14-pgpcre 0.20190509 d12.x86_64 pgdg 18.0 KiB postgresql-14-pgpcre_0.20190509-9.pgdg12+1_amd64.deb
postgresql-14-pgpcre 0.20190509 d12.aarch64 pgdg 18.0 KiB postgresql-14-pgpcre_0.20190509-9.pgdg12+1_arm64.deb
postgresql-14-pgpcre 0.20190509 d13.x86_64 pgdg 18.1 KiB postgresql-14-pgpcre_0.20190509-9.pgdg13+1_amd64.deb
postgresql-14-pgpcre 0.20190509 d13.aarch64 pgdg 18.1 KiB postgresql-14-pgpcre_0.20190509-9.pgdg13+1_arm64.deb
postgresql-14-pgpcre 0.20190509 u22.x86_64 pgdg 18.8 KiB postgresql-14-pgpcre_0.20190509-9.pgdg22.04+1_amd64.deb
postgresql-14-pgpcre 0.20190509 u22.aarch64 pgdg 18.5 KiB postgresql-14-pgpcre_0.20190509-9.pgdg22.04+1_arm64.deb
postgresql-14-pgpcre 0.20190509 u24.x86_64 pgdg 18.1 KiB postgresql-14-pgpcre_0.20190509-9.pgdg24.04+1_amd64.deb
postgresql-14-pgpcre 0.20190509 u24.aarch64 pgdg 18.1 KiB postgresql-14-pgpcre_0.20190509-9.pgdg24.04+1_arm64.deb

Source

pig build pkg pgpcre;		# 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 pgpcre;		# install via package name, for the active PG version

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

Create this extension with:

CREATE EXTENSION pgpcre;

Usage

pgpcre: Perl-compatible regular expressions (PCRE) for PostgreSQL

Provides a pcre data type and operators/functions for PCRE pattern matching.

Basic Matching

SELECT 'foo' ~ pcre 'fo+';        -- true
SELECT 'bar' !~ pcre 'fo+';       -- true
SELECT 'foo' =~ pcre 'fo+';       -- true (Perl-style operator)

Reverse operand order:

SELECT pcre 'fo+' ~ 'foo';        -- true
SELECT pcre 'fo+' ~ ANY(ARRAY['foo', 'bar']);

Case-Insensitive Matching

SELECT 'FOO' ~ pcre '(?i)fo+';    -- true

Extract Matched String

SELECT pcre_match('fo+', 'foobar');    -- 'foo'
SELECT pcre_match('fo+', 'barbar');    -- NULL

Extract Captured Substrings

SELECT pcre_captured_substrings('(fo+)(b..)', 'foobar');
-- ARRAY['foo','bar']

SELECT pcre_captured_substrings('(a|(z))(bc)', 'abc');
-- ARRAY['a',NULL,'bc']

Storing Regular Expressions

The pcre type can be stored in table columns. The binary form contains the compiled regex, tied to the PCRE library version. After a PCRE library upgrade, recompile stored values:

UPDATE my_table SET pcre_col = pcre_col::text::pcre;
Last updated on