Babelfish for PostgreSQL

active

by Amazon Web Services and Babelfish community · since 2021 · also known as Babelfish, Babelfish for Aurora PostgreSQL

Lets PostgreSQL understand SQL Server's T-SQL and TDS protocol, so SQL Server apps can migrate.

relationalextensionopen source (permissive)growing

Overview

Babelfish is an open-source capability, led by AWS, that adds a SQL Server-compatible endpoint to PostgreSQL. It implements the TDS wire protocol plus T-SQL syntax and semantics (procedures, IDENTITY, temp tables, many system views and functions), so applications using SQL Server drivers and tools like SSMS can connect with little or no code change, while the same data stays reachable through normal PostgreSQL. It ships as a set of extensions over a lightly modified PostgreSQL fork, and AWS offers it as a managed option in Aurora PostgreSQL. Coverage is broad but not complete, so the Babelfish Compass tool should be used to assess T-SQL compatibility before migrating.

Strengths & trade-offs

Strengths

  • +SQL Server clients, drivers and SSMS connect via TDS unchanged
  • +Same database accessible through T-SQL and PostgreSQL at once
  • +Avoids SQL Server licensing costs
  • +Babelfish Compass reports compatibility gaps before migration
  • +Managed on Aurora with no extra license fee

Trade-offs

  • −Incomplete T-SQL coverage (some system procs, CLR, SQL Agent features missing)
  • −Requires a modified PostgreSQL build, not stock Postgres
  • −Performance characteristics differ from SQL Server, so query tuning is needed
  • −Outside AWS, few managed options

Great for

  • +Migrating SQL Server applications to PostgreSQL
  • +Reducing SQL Server licensing on AWS
  • +Gradual rewrite of T-SQL apps to native PostgreSQL

Think twice for

  • −Apps relying on SQL Server-only features like CLR integration or SSIS
  • −Teams on stock PostgreSQL elsewhere
  • −Workloads needing full SQL Server behavioral parity

Capabilities

Native or official first-party support · 8 of 25 tracked

✓Transactions
✓Joins
✓Secondary indexes
✓JSON
✓Triggers
✓Stored procedures
✓Durable persistence
✓Role-based access
–Full-text search
–Vector search
–Geospatial
–Change data capture
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
None
Multi-region
Read replicas
Transactions
Full ACID
Consistency
Strong
Schema
Strict
Architecture
Single node, Primary replica, Client server
Query languages
T-SQL, SQL, PL/pgSQL

Inherits PostgreSQL/Aurora scaling: one writer with read replicas.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS

Ecosystem

compatible withSQL Server, PostgreSQL
apis & protocolsTDS (SQL Server) protocol, PostgreSQL wire protocol
client languagesC#, .NET, Java, Python, JavaScript, ODBC

Alternatives to Babelfish for PostgreSQL

Compare all→
Microsoft SQL ServerRelational71.0

Microsoft's flagship RDBMS: T-SQL, columnstore, Always On, and now native vectors and JSON.

babelfish-postgresql vs sql-server →
PostgreSQLRelational93.2

The extensible, standards-first open-source relational database.

babelfish-postgresql vs postgresql →
Amazon AuroraRelational24.9

AWS's MySQL- and PostgreSQL-compatible engine on a shared, six-way replicated storage layer.

babelfish-postgresql vs amazon-aurora →
EDB Postgres Advanced ServerRelational12.9

EnterpriseDB's PostgreSQL with deep Oracle compatibility: PL/SQL packages, DBMS_* and TDE.

babelfish-postgresql vs edb-postgres-advanced-server →
Azure SQL DatabaseRelational33.9

Microsoft's always-current managed SQL Server engine, from free serverless databases to 128 TB Hyperscale.

babelfish-postgresql vs azure-sql-database →
Progress OpenEdgeRelational20.4

Integrated RDBMS plus ABL 4GL application platform behind thousands of ERP and vertical business apps.

babelfish-postgresql vs progress-openedge →

Babelfish for PostgreSQL FAQ

What is Babelfish for PostgreSQL?

Babelfish for PostgreSQL is a relational database by Amazon Web Services and Babelfish community, first released in 2021. Babelfish is an open-source capability, led by AWS, that adds a SQL Server-compatible endpoint to PostgreSQL. It implements the TDS wire protocol plus T-SQL syntax and semantics (procedures, IDENTITY, temp tables, many system views and functions), so applications using SQL Server drivers and tools like SSMS can connect with little or no code change, while the same data stays reachable through normal PostgreSQL. It ships as a set of extensions over a lightly modified PostgreSQL fork, and AWS offers it as a managed option in Aurora PostgreSQL. Coverage is broad but not complete, so the Babelfish Compass tool should be used to assess T-SQL compatibility before migrating.

Is Babelfish for PostgreSQL open source?

Yes. Babelfish for PostgreSQL is open source. License: Apache License 2.0 and PostgreSQL License.

Does Babelfish for PostgreSQL support ACID transactions?

Yes. Babelfish for PostgreSQL supports full ACID transactions, with strong consistency.

Does Babelfish for PostgreSQL scale horizontally?

Babelfish for PostgreSQL does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at medium scale (≤ 10 TB). It supports cross-region read replicas.

How can I run Babelfish for PostgreSQL?

You can self-host it and use the vendor's managed cloud. Managed offerings include Babelfish for Aurora PostgreSQL. It is available on AWS.

What is Babelfish for PostgreSQL best for?

Babelfish for PostgreSQL is a strong fit for migrating SQL Server applications to PostgreSQL, reducing SQL Server licensing on AWS and gradual rewrite of T-SQL apps to native PostgreSQL. Think twice for apps relying on SQL Server-only features like CLR integration or SSIS.

What are the best alternatives to Babelfish for PostgreSQL?

Common alternatives to Babelfish for PostgreSQL include Microsoft SQL Server, PostgreSQL, Amazon Aurora, EDB Postgres Advanced Server and Azure SQL Database. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Babelfish for PostgreSQL?

Babelfish for PostgreSQL ranks #400 of 844 databases on the WhichDB Score (4.6/100), and #128 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.