babelfishpg_common
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 | 5.5.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 | 否 | 是 | 否 | 是 | 是 | 否 | - |
| 相关扩展 | tds_fdw babelfishpg_tds babelfishpg_money pg_hint_plan uuid-ossp session_variable orafce pgtt |
|---|---|
| 下游依赖 | babelfishpg_tsql |
special case: this extension only works on wiltondb kernel fork
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 5.5.0 | 1817161514 | babelfish | - |
| RPM | PIGSTY | 5.5.0 | 1817161514 | babelfish_$v | babelfishpg_$v, antlr4-runtime413 |
| DEB | PIGSTY | 5.5.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 el8.x86_64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el8.x86_64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el8.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 el8.aarch64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el8.aarch64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el9.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 el9.x86_64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el9.x86_64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el9.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 el9.aarch64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el9.aarch64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 el10.x86_64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el10.x86_64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 el10.aarch64.pg17 : babelfish_17 babelfish_17-5.5.0-1PIGSTY.el10.aarch64.rpm
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 d12.x86_64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~bookworm_amd64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 d12.aarch64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~bookworm_arm64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d13.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 d13.x86_64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~trixie_amd64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d13.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 d13.aarch64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~trixie_arm64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u22.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 u22.x86_64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~jammy_amd64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u22.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 u22.aarch64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~jammy_arm64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u24.x86_64 | PIGSTY MISS | PIGSTY 5.5.0 u24.x86_64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~noble_amd64.deb
| PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u24.aarch64 | PIGSTY MISS | PIGSTY 5.5.0 u24.aarch64.pg17 : babelfishpg-17-babelfish babelfishpg-17-babelfish_5.5.0-2PIGSTY~noble_arm64.deb
| 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_common;
用法
babelfishpg_common 扩展作为 Babelfish 项目的一部分,为 PostgreSQL 提供 SQL Server 兼容的数据类型支持,使 PostgreSQL 能够理解和使用 Microsoft SQL Server 数据类型。
启用
CREATE EXTENSION babelfishpg_common;
SQL Server 数据类型
该扩展添加了以下 SQL Server 兼容数据类型:
- TINYINT - 1 字节无符号整数(0 到 255)
- SMALLMONEY - 小型货币值
- MONEY - 货币值(另见
babelfishpg_money) - DATETIME - SQL Server 风格日期时间
- DATETIME2 - 扩展精度日期时间
- SMALLDATETIME - 低精度日期时间
- DATETIMEOFFSET - 带时区偏移的日期和时间
- BIT - SQL Server 兼容布尔值
- NCHAR / NVARCHAR - Unicode 字符类型
- UNIQUEIDENTIFIER - SQL Server 风格 UUID
- VARBINARY - 变长二进制数据
- IMAGE - 旧版二进制数据类型
- SQL_VARIANT - 通用数据类型容器
- XML - SQL Server 兼容 XML 类型
- SYSNAME - 系统名称类型(nvarchar(128))
关键特性
- 提供 SQL Server 和 PostgreSQL 类型之间的隐式和显式类型转换
- 支持 SQL Server 风格的排序行为
- 处理 SQL Server 特定的类型强制规则
- 与
babelfishpg_tsql配合实现完整的 T-SQL 兼容性
该扩展通常作为完整 Babelfish for PostgreSQL 安装的一部分部署,是 babelfishpg_tsql 的前置依赖。