semver
Semantic version data type
Repository
theory/pg-semver
https://github.com/theory/pg-semver
Source
pg-semver-0.41.0.tar.gz
pg-semver-0.41.0.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_semver | 0.41.0 | TYPE | PostgreSQL | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3510 | semver | No | Yes | No | Yes | No | Yes | - |
| Related | pg_text_semver debversion |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PGDG | 0.41.0 | 1817161514 | pg_semver | - |
| RPM | PGDG | 0.41.0 | 1817161514 | semver_$v | - |
| DEB | PGDG | 0.41.0 | 1817161514 | postgresql-$v-semver | - |
Build
You can build the RPM packages for pg_semver using pig build:
Install
You can install pg_semver directly. First, make sure the PGDG repository is added and enabled:
Install the extension using pig or apt/yum/dnf:
Install
pig
dnf
apt
Create Extension:
Usage
The semver extension provides a data type implementing Semantic Versioning 2.0.0.
Operators
| Operator | Description | Example | Result |
|---|---|---|---|
= | Equal | '1.2.0'::semver = '1.2.00'::semver | t |
<> | Not equal | '1.2.0'::semver <> '1.2.00'::semver | f |
< | Less than | '3.4.0-b1'::semver < '3.4.0'::semver | t |
<= | Less or equal | '3.4.0-b1'::semver <= '3.4.0'::semver | t |
> | Greater than | '3.4.0-b1'::semver > '3.4.0'::semver | f |
>= | Greater or equal | '3.4.0-b1'::semver >= '3.4.0'::semver | f |
Functions
| Function | Description | Example | Result |
|---|---|---|---|
to_semver(text) | Permissive parse | to_semver('1.0') | 1.0.0 |
is_semver(text) | Validate format | is_semver('1.2.0') | true |
semver(text) | Strict cast | semver('1.2.1') | 1.2.1 |
get_semver_major(semver) | Major version | get_semver_major('4.2.0') | 4 |
get_semver_minor(semver) | Minor version | get_semver_minor('4.2.0') | 2 |
get_semver_patch(semver) | Patch version | get_semver_patch('4.2.0') | 0 |
get_semver_prerelease(semver) | Prerelease part | get_semver_prerelease('2.1.0-b2+bfb13') | b2 |
Supports casts from text, numeric, real, double precision, integer, bigint, smallint.
Range Type
The semverrange type supports standard range operators:
Aggregate Functions
MIN(semver) and MAX(semver) are supported. Btree and hash indexes are available.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)