currency

Custom PostgreSQL currency type in 1Byte

Overview

PackageVersionCategoryLicenseLanguage
pg_currency0.0.3TYPEMITC
IDExtensionBinLibLoadCreateTrustRelocSchema
3620currencyNoYesNoYesNoYes-
Relatedl10n_table_dependent_extension country pg_xenophile numeral prefix semver unit pgpdf

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY0.0.31817161514pg_currency-
RPMPIGSTY0.0.31817161514pg_currency_$v-
DEBPIGSTY0.0.31817161514postgresql-$v-pg-currency-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
d13.x86_64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
d13.aarch64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
u22.x86_64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
u22.aarch64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
u24.x86_64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
u24.aarch64
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3
PIGSTY 0.0.3

Build

You can build the RPM / DEB packages for pg_currency using pig build:

pig build pkg pg_currency         # build RPM / DEB packages

Install

You can install pg_currency 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_currency;          # Install for current active PG version
pig ext install -y pg_currency -v 18  # PG 18
pig ext install -y pg_currency -v 17  # PG 17
pig ext install -y pg_currency -v 16  # PG 16
pig ext install -y pg_currency -v 15  # PG 15
pig ext install -y pg_currency -v 14  # PG 14
dnf install -y pg_currency_18       # PG 18
dnf install -y pg_currency_17       # PG 17
dnf install -y pg_currency_16       # PG 16
dnf install -y pg_currency_15       # PG 15
dnf install -y pg_currency_14       # PG 14
apt install -y postgresql-18-pg-currency   # PG 18
apt install -y postgresql-17-pg-currency   # PG 17
apt install -y postgresql-16-pg-currency   # PG 16
apt install -y postgresql-15-pg-currency   # PG 15
apt install -y postgresql-14-pg-currency   # PG 14

Create Extension:

CREATE EXTENSION currency;

Usage

currency: ISO 4217 currency code type

The currency extension provides a data type for ISO 4217 currency codes using only a single byte of storage per value.

CREATE EXTENSION currency;

CREATE TABLE transactions (
    id                serial,
    payment_currency  currency
);

INSERT INTO transactions VALUES (1, 'USD'), (2, 'EUR'), (3, 'USD');

SELECT * FROM transactions ORDER BY payment_currency;
 id | payment_currency
----+------------------
  2 | EUR
  1 | USD
  3 | USD

Operators

Standard comparison operators are supported: =, <>, <, >, <=, >=.

B-tree index support is included for efficient ordering and lookups.

Functions

-- List all supported currency codes
SELECT * FROM supported_currencies() currency ORDER BY currency;

Last Modified 2026-03-12: add pg extension catalog (95749bf)