mssql
The mssql configuration template uses a PostgreSQL 17-compatible Babelfish kernel instead of native PostgreSQL, providing Microsoft SQL Server wire protocol (TDS) and T-SQL syntax compatibility. The current template is pinned to pg_version: 17; configure does not apply -v overrides to this fixed-kernel template.
Since Pigsty v4.2, Babelfish is built directly by Pigsty, no longer using the WiltonDB repository, and 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
Source: pigsty/conf/mssql.yml
Explanation
The mssql template allows you to use SQL Server Management Studio (SSMS) or other SQL Server client tools to connect to PostgreSQL (through Babelfish 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 current
mssqltemplate is pinned to a PostgreSQL 17-compatible kernel; do not rely on-vto switch its major version - Default migration mode is
multi-db(babelfishpg_tsql.migration_mode), configurable tosingle-dbwhen needed - Some T-SQL syntax may have compatibility differences, refer to Babelfish compatibility documentation
- Must use
md5authentication method (notscram-sha-256)