babelfishpg_tsql

SQL Server Transact SQL compatibility

Overview

PackageVersionCategoryLicenseLanguage
babelfish5.5.0SIMApache-2.0C
IDExtensionBinLibLoadCreateTrustRelocSchema
9300babelfishpg_commonNoYesNoYesNoYes-
9310babelfishpg_tsqlNoYesNoYesNoYes-
9320babelfishpg_tdsNoYesYesYesNoYes-
9330babelfishpg_moneyNoYesNoYesYesNo-
Relatedbabelfishpg_common uuid-ossp babelfishpg_money pg_hint_plan tds_fdw session_variable orafce pgtt db_migrator
Depended Bybabelfishpg_tds

special case: this extension only works on wiltondb kernel fork

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY5.5.01817161514babelfishbabelfishpg_common, uuid-ossp
RPMPIGSTY5.5.01817161514babelfish_$vbabelfishpg_$v, antlr4-runtime413
DEBPIGSTY5.5.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

Create Extension:

CREATE EXTENSION babelfishpg_tsql CASCADE;  -- requires: babelfishpg_common, uuid-ossp

Usage

babelfishpg_tsql: SQL Server Transact SQL compatibility

The babelfishpg_tsql extension provides Microsoft SQL Server Transact-SQL (T-SQL) compatibility for PostgreSQL as part of the Babelfish project. Applications written for SQL Server can connect and run queries against PostgreSQL with minimal changes.

Enabling

CREATE EXTENSION babelfishpg_tsql;

Key Features

  • T-SQL Language Support: Understands T-SQL syntax including stored procedures, functions, triggers, and batches
  • SQL Server Wire Protocol: Applications can connect using the TDS (Tabular Data Stream) protocol on port 1433
  • System Procedures: Common sp_ system stored procedures are available
  • System Views: SQL Server catalog views (e.g., sys.tables, sys.columns, sys.objects)
  • Multi-Database Semantics: Supports SQL Server-style database/schema separation

Supported T-SQL Features

  • BEGIN...END blocks, IF...ELSE, WHILE loops
  • TRY...CATCH error handling
  • Temporary tables (#temp, ##global_temp)
  • Table variables (DECLARE @t TABLE (...))
  • IDENTITY columns and @@IDENTITY / SCOPE_IDENTITY()
  • TOP clause, OUTPUT clause
  • MERGE statements
  • Common Table Expressions (CTEs)
  • Cross-database queries within the same instance
  • EXEC / EXECUTE for dynamic SQL
  • SQL Server-style string concatenation and NULL handling
  • PRINT and RAISERROR statements

Connecting via TDS Protocol

Applications can connect using SQL Server drivers (JDBC, ODBC, ADO.NET) to the TDS listener port (default 1433):

Server: hostname
Port: 1433
Database: mydb

Notes

  • Requires babelfishpg_common extension
  • Part of the Babelfish for PostgreSQL project (Apache 2.0 / PostgreSQL license)
  • Not all T-SQL features are supported; check the Babelfish compatibility reference

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