pg_text_semver
Semantic version domain and comparison operators for PostgreSQL
Repository
bigsmoke/pg_text_semver
https://github.com/bigsmoke/pg_text_semver
Source
pg_text_semver-1.2.1.tar.gz
pg_text_semver-1.2.1.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_text_semver | 1.2.1 | TYPE | PostgreSQL | SQL |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3520 | pg_text_semver | No | No | No | Yes | No | Yes | - |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.2.1 | 1817161514 | pg_text_semver | - |
| RPM | PIGSTY | 1.2.1 | 1817161514 | pg_text_semver_$v | - |
| DEB | PIGSTY | 1.2.1 | 1817161514 | postgresql-$v-pg-text-semver | - |
Build
You can build the RPM / DEB packages for pg_text_semver using pig build:
pig build pkg pg_text_semver # build RPM / DEB packages
Install
You can install pg_text_semver directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
pig repo add pgsql -u # Add repo and update cache
Install the extension using pig or apt/yum/dnf:
pig install pg_text_semver; # Install for current active PG version
pig ext install -y pg_text_semver -v 18 # PG 18
pig ext install -y pg_text_semver -v 17 # PG 17
pig ext install -y pg_text_semver -v 16 # PG 16
pig ext install -y pg_text_semver -v 15 # PG 15
pig ext install -y pg_text_semver -v 14 # PG 14
dnf install -y pg_text_semver_18 # PG 18
dnf install -y pg_text_semver_17 # PG 17
dnf install -y pg_text_semver_16 # PG 16
dnf install -y pg_text_semver_15 # PG 15
dnf install -y pg_text_semver_14 # PG 14
apt install -y postgresql-18-pg-text-semver # PG 18
apt install -y postgresql-17-pg-text-semver # PG 17
apt install -y postgresql-16-pg-text-semver # PG 16
apt install -y postgresql-15-pg-text-semver # PG 15
apt install -y postgresql-14-pg-text-semver # PG 14
Create Extension:
CREATE EXTENSION pg_text_semver;
Usage
Source: README, META.json, Tag v1.2.1
pg_text_semver implements Semantic Versioning 2.0.0 on top of PostgreSQL text using a semver domain rather than a custom C type.
Core types and functions
CREATE EXTENSION pg_text_semver;
SELECT '1.2.3'::semver < '2.0.0'::semver;
SELECT semver_cmp('1.2.3'::semver, '1.2.4'::semver);
SELECT semver_regexp(true);
SELECT '1.2.3-alpha.1+build5'::semver::semver_parsed;
semver: domain overtextwith SemVer validation.semver_parsed: parsed composite type that supports sorting and indexing.semver_prerelease: domain for prerelease identifiers.semver_cmp(...): comparison function forsemverandsemver_parsed.semver_regexp(include_captures boolean): exposes the validation regex.
Extra helpers
The current README also documents PGXN-version-range helpers:
meta_pgxn_version_range(text)meta_pgxn_version_range_cmp(text, text)nonsemver_cmp(text, text, text)
Caveats
- This extension favors a spec-oriented, text-backed implementation over the lower-level C-based alternatives.
- The upstream README remains the authoritative user-facing reference; the current stub already matched that surface closely, so this refresh mainly aligns it with the documented 1.2.1 helper set.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.