babelfishpg_tds

SQL Server TDS protocol extension

Overview

PackageVersionCategoryLicenseLanguage
babelfish1.0.0SIMApache-2.0C
IDExtensionBinLibLoadCreateTrustRelocSchema
9300babelfishpg_commonNoYesNoYesNoYes-
9310babelfishpg_tsqlNoYesNoYesNoYes-
9320babelfishpg_tdsNoYesYesYesNoYes-
9330babelfishpg_moneyNoYesNoYesYesNo-
Relatedbabelfishpg_tsql tds_fdw babelfishpg_common babelfishpg_money pg_hint_plan uuid-ossp session_variable jdbc_fdw db_migrator

special case: this extension only works on wiltondb kernel fork

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY1.0.01817161514babelfishbabelfishpg_tsql
RPMPIGSTY1.0.01817161514babelfish_$vbabelfishpg_$v, antlr4-runtime413
DEBPIGSTY1.0.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

Preload:

shared_preload_libraries = 'babelfishpg_tds';

Create Extension:

CREATE EXTENSION babelfishpg_tds CASCADE;  -- requires: babelfishpg_tsql

Usage

Install go-sqlcmd:

curl -LO https://github.com/microsoft/go-sqlcmd/releases/download/v1.4.0/sqlcmd-v1.4.0-linux-amd64.tar.bz2
tar xjvf sqlcmd-v1.4.0-linux-amd64.tar.bz2
sudo mv sqlcmd* /usr/bin/

Try go-sqlcmd

$ sqlcmd -S 10.10.10.10,1433 -U dbuser_mssql -P DBUser.MSSQL
1> select @@version
2> go
version                                                                                                                                                                                                                                                         
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Babelfish for PostgreSQL with SQL Server Compatibility - 12.0.2000.8
Oct 22 2023 17:48:32
Copyright (c) Amazon Web Services
PostgreSQL 15.4 (EL 1:15.4.wiltondb3.3_2-2.el8) on x86_64-redhat-linux-gnu (Babelfish 3.3.0)                                        

(1 row affected)

Access pigsty exposed primary/replica service port

sqlcmd -S 10.10.10.11,5433 -U dbuser_mssql -P DBUser.MSSQL

sqlcmd -S 10.10.10.11,5434 -U dbuser_mssql -P DBUser.MSSQL

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