🟒

Babelfish for Aurora PostgreSQL

Overview

Babelfish extends Aurora PostgreSQL to natively understand Microsoft SQL Server’s T-SQL dialect and its wire protocol. This allows existing SQL Server applications to run on Aurora PostgreSQL with minimal or no application code changes.

How It Works

  • Aurora PostgreSQL with Babelfish can accept T-SQL queries and process them directly.
  • Applications continue using SQL Server client drivers (e.g., ODBC, JDBC, .NET providers) without changes.
  • Babelfish translates T-SQL commands internally into PostgreSQL-compatible operations.
  • Aurora can handle both T-SQL and native PL/pgSQL queries in the same database.

Migration Support

  • Works seamlessly with AWS SCT (Schema Conversion Tool) for schema translation.
  • AWS DMS (Database Migration Service) can replicate data from SQL Server to Aurora PostgreSQL with Babelfish enabled.
  • Allows phased migration β€” both SQL Server and PostgreSQL apps can connect to the same Aurora cluster.

Key Benefits

  • Reduced migration effort – Avoids a full code rewrite.
  • Dual dialect support – T-SQL and PL/pgSQL run side by side.
  • Lower costs – Move off commercial SQL Server licenses.
  • Faster adoption – Teams familiar with SQL Server can start using Aurora PostgreSQL immediately.

Example Architecture

  1. SQL Server-based applications send T-SQL queries via their existing drivers.
  1. Babelfish intercepts and processes the queries inside Aurora PostgreSQL.
  1. PostgreSQL-native applications connect directly using PL/pgSQL.
  1. Both sets of applications operate on the same underlying Aurora PostgreSQL database.