base36
Integer Base36 types
Repository
adjust/pg-base36
https://github.com/adjust/pg-base36
Source
pg-base36-1.0.0.tar.gz
pg-base36-1.0.0.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_base36 | 1.0.0 | FUNC | MIT | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 4800 | base36 | No | Yes | No | Yes | No | No | - |
| Related | base62 pg_base58 pg_polyline uri pg_curl url_encode pg_rewrite sepgsql |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.0 | 1817161514 | pg_base36 | - |
| RPM | PIGSTY | 1.0.0 | 1817161514 | pg_base36_$v | - |
| DEB | PIGSTY | 1.0.0 | 1817161514 | postgresql-$v-base36 | - |
Build
You can build the RPM / DEB packages for pg_base36 using pig build:
pig build pkg pg_base36 # build RPM / DEB packages
Install
You can install pg_base36 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_base36; # Install for current active PG version
pig ext install -y pg_base36 -v 18 # PG 18
pig ext install -y pg_base36 -v 17 # PG 17
pig ext install -y pg_base36 -v 16 # PG 16
pig ext install -y pg_base36 -v 15 # PG 15
pig ext install -y pg_base36 -v 14 # PG 14
dnf install -y pg_base36_18 # PG 18
dnf install -y pg_base36_17 # PG 17
dnf install -y pg_base36_16 # PG 16
dnf install -y pg_base36_15 # PG 15
dnf install -y pg_base36_14 # PG 14
apt install -y postgresql-18-base36 # PG 18
apt install -y postgresql-17-base36 # PG 17
apt install -y postgresql-16-base36 # PG 16
apt install -y postgresql-15-base36 # PG 15
apt install -y postgresql-14-base36 # PG 14
Create Extension:
CREATE EXTENSION base36;
Usage
Provides data types for encoding and decoding values using the base36 scheme, with conversion between base36 and integer types.
CREATE EXTENSION base36;
Types
| Type | Storage | Max String Length | Max Numeric Value |
|---|---|---|---|
base36 | 4 bytes (int) | 6 characters | 2,147,483,647 |
bigbase36 | 8 bytes (bigint) | 13 characters | 9,223,372,036,854,775,807 |
Examples
-- Encode integer to base36
SELECT 1234567::base36; -- 'qglj'
-- Decode base36 to integer
SELECT 'qglj'::base36::int; -- 1234567
-- Bigbase36 for larger values
SELECT 9223372036854775807::bigbase36; -- 'i1y004og0svr'
SELECT 'i1y004og0svr'::bigbase36::bigint; -- 9223372036854775807
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.