babelfishpg_money

SQL Server 货币数据类型兼容扩展

概览

扩展包名版本分类许可证语言
babelfish1.1.0SIMApache-2.0C
ID扩展名BinLibLoadCreateTrustReloc模式
9300babelfishpg_common-
9310babelfishpg_tsql-
9320babelfishpg_tds-
9330babelfishpg_money-
相关扩展babelfishpg_common babelfishpg_tsql babelfishpg_tds financial tds_fdw numeral orafce pgtt

special case: this extension only works on wiltondb kernel fork

版本

类型仓库版本PG 大版本包名依赖
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

构建

您可以使用 pig build 命令构建 babelfish 扩展的 RPM / DEB 包:

pig build pkg babelfish         # 构建 RPM / DEB 包

安装

您可以直接安装 babelfish 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install babelfish;          # 当前活跃 PG 版本安装
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 babelfishpg_money;

用法

babelfishpg_money: SQL Server Money 数据类型

babelfishpg_money 扩展作为 Babelfish 项目的一部分,为 PostgreSQL 提供 SQL Server 兼容的 MONEYSMALLMONEY 数据类型实现。

启用

CREATE EXTENSION babelfishpg_money;

数据类型

  • MONEY - 8 字节货币值,范围从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807,固定 4 位小数
  • SMALLMONEY - 4 字节货币值,范围从 -214,748.3648 到 214,748.3647,固定 4 位小数

行为

该扩展实现了 SQL Server 的货币运算规则:

  • 精确 4 位小数的定点表示
  • SQL Server 兼容的货币计算舍入行为
  • MONEY 与其他数值类型之间的正确转换
  • 算术运算遵循 SQL Server 语义(例如 money / money = money,而非 float)

注意事项

  • Babelfish for PostgreSQL 项目的一部分
  • 与提供基础类型基础设施的 babelfishpg_common 配合使用
  • PostgreSQL 内置的 money 类型精度和行为不同;该扩展提供 SQL Server 兼容的变体

最后修改 2026-03-14: update extension metadata (953cbd0)