babelfishpg_money
SQL Server 货币数据类型兼容扩展
仓库
https://babelfishpg.org/
https://babelfishpg.org/
源码
babelfishpg-17.8-5.5.0.tar.gz
babelfishpg-17.8-5.5.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
babelfish | 1.1.0 | SIM | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9300 | babelfishpg_common | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 9310 | babelfishpg_tsql | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 9320 | babelfishpg_tds | 否 | 是 | 是 | 是 | 否 | 是 | - |
| 9330 | babelfishpg_money | 否 | 是 | 否 | 是 | 是 | 否 | - |
| 相关扩展 | babelfishpg_common babelfishpg_tsql babelfishpg_tds financial tds_fdw numeral orafce pgtt |
|---|
special case: this extension only works on wiltondb kernel fork
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.1.0 | 1817161514 | babelfish | - |
| RPM | PIGSTY | 1.1.0 | 1817161514 | babelfish_$v | babelfishpg_$v, antlr4-runtime413 |
| DEB | PIGSTY | 1.1.0 | 1817161514 | babelfishpg-$v-babelfish | babelfishpg-$v, libantlr4-runtime413 |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el8.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el9.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el9.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d13.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d13.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u22.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u22.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u24.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u24.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
构建
您可以使用 pig build 命令构建 babelfish 扩展的 RPM / DEB 包:
pig build pkg babelfish # 构建 RPM / DEB 包
安装
您可以直接安装 babelfish 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
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 扩展作为 Babelfish 项目的一部分,为 PostgreSQL 提供 SQL Server 兼容的 MONEY 和 SMALLMONEY 数据类型实现。
启用
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 兼容的变体