babelfishpg_money

SQL Server Money Data Type

Overview

PackageVersionCategoryLicenseLanguage
babelfish1.1.0SIMApache-2.0C
IDExtensionBinLibLoadCreateTrustRelocSchema
9300babelfishpg_commonNoYesNoYesNoYes-
9310babelfishpg_tsqlNoYesNoYesNoYes-
9320babelfishpg_tdsNoYesYesYesNoYes-
9330babelfishpg_moneyNoYesNoYesYesNo-
Relatedbabelfishpg_common babelfishpg_tsql babelfishpg_tds financial tds_fdw numeral orafce pgtt

special case: this extension only works on wiltondb kernel fork

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY1.1.01817161514babelfish-
RPMPIGSTY1.1.01817161514babelfish_$vbabelfishpg_$v, antlr4-runtime413
DEBPIGSTY1.1.01817161514babelfishpg-$v-babelfishbabelfishpg-$v, libantlr4-runtime413
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
el8.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
el9.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
el9.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
el10.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
el10.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
d12.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
d12.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
d13.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
d13.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
u22.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
u22.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
u24.x86_64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS
u24.aarch64PIGSTY MISSPIGSTY 5.5.0PIGSTY MISSPIGSTY MISSPIGSTY MISS

Build

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

pig build pkg babelfish         # build RPM / DEB packages

Install

You can install babelfish 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 babelfish;          # Install for current active PG version
pig ext install -y babelfish -v 17  # PG 17
dnf install -y babelfish_17       # PG 17
apt install -y babelfishpg-17-babelfish   # PG 17

Create Extension:

CREATE EXTENSION babelfishpg_money;

Usage

babelfishpg_money: SQL Server Money Data Type

The babelfishpg_money extension provides SQL Server-compatible MONEY and SMALLMONEY data type implementations for PostgreSQL as part of the Babelfish project.

Enabling

CREATE EXTENSION babelfishpg_money;

Data Types

  • MONEY - 8-byte monetary value ranging from -922,337,203,685,477.5808 to 922,337,203,685,477.5807, with fixed 4 decimal places
  • SMALLMONEY - 4-byte monetary value ranging from -214,748.3648 to 214,748.3647, with fixed 4 decimal places

Behavior

The extension implements SQL Server’s monetary arithmetic rules:

  • Fixed-point representation with exactly 4 decimal digits
  • SQL Server-compatible rounding behavior for monetary calculations
  • Proper casting between MONEY and other numeric types
  • Arithmetic operations follow SQL Server semantics (e.g., money / money = money, not float)

Notes

  • Part of the Babelfish for PostgreSQL project
  • Works in conjunction with babelfishpg_common which provides the base type infrastructure
  • The PostgreSQL built-in money type has different precision and behavior; this extension provides the SQL Server-compatible variant

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