babelfishpg_tsql
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
babelfish | 5.4.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 uuid-ossp babelfishpg_money pg_hint_plan tds_fdw session_variable orafce pgtt db_migrator |
|---|---|
| 下游依赖 | babelfishpg_tds |
special case: this extension only works on wiltondb kernel fork
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 5.4.0 | 1817161514 | babelfish | babelfishpg_common, uuid-ossp |
| RPM | PIGSTY | 6.0.0 | 1817161514 | babelfish-$v | antlr4-runtime413 |
| DEB | PIGSTY | 6.0.0 | 1817161514 | babelfish-$v | libantlr4-runtime413 |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| el8.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| el9.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| el9.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| el10.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| el10.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| d12.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| d12.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| d13.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| d13.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u22.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u22.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u24.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u24.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u26.x86_64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
| u26.aarch64 | PIGSTY 6.0.0 | PIGSTY 5.4.0 | N/A | N/A | N/A |
构建
您可以使用 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 18 # PG 18
pig ext install -y babelfish -v 17 # PG 17
dnf install -y babelfish-18 # PG 18
dnf install -y babelfish-17 # PG 17
apt install -y babelfish-18 # PG 18
apt install -y babelfish-17 # PG 17
创建扩展:
CREATE EXTENSION babelfishpg_tsql CASCADE; -- 依赖: babelfishpg_common, uuid-ossp
用法
来源:
babelfishpg_tsql实现了T-SQL语言和SQL Server兼容的系统目录行为,这是Babelfish数据库的一个组成部分,而不是一个可以独立添加到标准PostgreSQL中的兼容层:完整的堆栈需要带有Babelfish补丁的PostgreSQL引擎加上公共、TDS和T-SQL扩展。
核心工作流程
为预加载配置TDS协议扩展并重启Babelfish服务器:
shared_preload_libraries = 'babelfishpg_tds'
使用CASCADE创建TDS扩展,以便安装其依赖项,包括babelfishpg_tsql。在初始化前选择迁移模式。
CREATE EXTENSION IF NOT EXISTS babelfishpg_tds CASCADE;
ALTER SYSTEM SET babelfishpg_tsql.database_name = 'babelfish_db';
ALTER SYSTEM SET babelfishpg_tsql.migration_mode = 'multi-db';
CALL sys.initialize_babelfish('babelfish_user');
按照安装指南重新加载配置后,SQL Server客户端连接到通常位于端口1433的TDS监听器,并在Babelfish创建的逻辑数据库中发出T-SQL语句。
组件和对象索引
babelfishpg_tsql提供T-SQL解析器、过程语言、系统对象、兼容函数以及T-SQL配置变量。babelfishpg_tds提供表格数据流监听器,也是常规安装入口点。babelfishpg_common提供共享的数据类型和函数。它和uuid-ossp是babelfishpg_tsql的声明依赖项。babelfishpg_money提供与堆栈相关的货币相关兼容对象。sys.initialize_babelfish(login_name)为Babelfish目录和服务初始化登录。sys.sp_babelfish_configure控制文档化的兼容性开关。babelfishpg_tsql.database_name标识托管Babelfish的物理PostgreSQL数据库。babelfishpg_tsql.migration_mode选择single-db或multi-db逻辑数据库映射。
运行边界
安装需要超级用户权限和与扩展版本匹配的Babelfish构建。不要单独安装babelfishpg_tsql并期望获得TDS连接性。迁移模式是一个配置决策,在数据库初始化后不应更改。
Babelfish实现了大量但不完整的SQL Server功能集。在迁移前,请根据官方限制验证应用程序语法、数据类型、系统目录假设、驱动程序和开关设置。PostgreSQL和T-SQL连接可以观察不同的命名和事务语义。
从5.5.0到5.4.0的目录更改是官方BABEL_5_4_0发布线的一个版本修正,而不是新功能或自动降级过程的证据。