mssql
Development sources use conf/fork/mssql.yml; v4.5.0 uses conf/mssql.yml, selected with -c mssql.
The mssql configuration template uses Babelfish instead of native PostgreSQL, providing Microsoft SQL Server wire protocol (TDS) and T-SQL syntax compatibility. The repository provides PG17- and PG18-compatible packages; the template defaults to pg_version: 17. See the package lists for availability on each platform.
configure accepts both -c mssql and -c fork/mssql; both preserve the template’s PG17 settings and ignore -v. To use PG18, update both the cluster and global pg_version values in the generated inventory and verify that the kernel packages and extensions are available for your platform.
Since v4.2, Pigsty builds Babelfish directly and does not use the WiltonDB repository. Babelfish is available on all supported Linux platforms.
For the complete tutorial, see: Babelfish (MSSQL) Kernel Guide
Overview
- Config Name:
mssql - Node Count: Single node
- Description: Babelfish (PG17) configuration template with SQL Server protocol compatibility
- OS Distro:
el8,el9,el10,d12,d13,u22,u24,u26 - OS Arch:
x86_64,aarch64 - Related:
meta
Usage:
Content
Development source: conf/fork/mssql.yml; release source: v4.5.0: conf/mssql.yml.
Explanation
With the mssql template, SQL Server Management Studio (SSMS) and other SQL Server clients can connect to PostgreSQL. Babelfish provides the protocol compatibility.
Key Features:
- Uses TDS protocol (port 1433), compatible with SQL Server clients
- Supports T-SQL syntax, low migration cost
- Retains PostgreSQL’s ACID properties and extension ecosystem (the current template uses PG17)
- Supports
multi-dbandsingle-dbmigration modes - Default package set:
babelfish + pgsql-common + sqlcmd - Creates
uuid-ossp,babelfishpg_common,babelfishpg_tsql,babelfishpg_tds, andbabelfishpg_moneyby default - v4.2.0 adds full mainstream platform coverage (EL 8/9/10, Debian 12/13, Ubuntu 22/24/26;
x86_64/aarch64)
Connection Methods:
Use Cases:
- Migrating from SQL Server to PostgreSQL
- Applications needing to support both SQL Server and PostgreSQL clients
- Leveraging PostgreSQL ecosystem while maintaining T-SQL compatibility
Notes:
- The template defaults to a PostgreSQL 17-compatible kernel. After changing versions, check
pg_versionin the generated inventory and the package support matrix before deploying. - Default migration mode is
multi-db(babelfishpg_tsql.migration_mode), configurable tosingle-dbwhen needed - Some T-SQL syntax can have compatibility differences. See the Babelfish compatibility documentation.
- Must use
md5authentication method (notscram-sha-256)