Babelfish limitations - Amazon Aurora

Babelfish limitations

The following limitations currently apply to Babelfish for Aurora PostgreSQL:

  • When upgrading, you might notice differences in object ownership within the same schema. Pre-upgrade objects are owned by the current user while post-upgrade objects are owned by the schema owner, which might be a different user. To address this, we introduced the sys.generate_alter_ownership_statements() function.

    To fix object ownership mismatches, connect to your cluster using the PostgreSQL endpoint, run the sys.generate_alter_ownership_statements() function, and execute the generated SQL statements.

    Consider these important limitations related to object ownership changes:

    • Users who are granted CREATE permissions through the PostgreSQL endpoint can't create objects through the TDS endpoint. We don't recommend changing permissions on T-SQL objects through the PostgreSQL endpoint because it can lead to incorrect T-SQL behavior.

    • Object access permissions might change. For example, if a schema owned by 'sch_own' contains objects owned by 'dbo' before upgrade, users' ability to perform operations like SELECT or INSERT might differ between pre-upgrade objects (owned by 'dbo') and post-upgrade objects (owned by 'sch_own').

  • Babelfish currently doesn't support the following Aurora features:

    • AWS Identity and Access Management

    • Database Activity Streams (DAS)

    • RDS Data API with Aurora PostgreSQL Serverless v2 and provisioned

    • RDS Proxy with RDS for SQL Server

    • Salted challenge response authentication mechanism (SCRAM)

    • Query editor

  • Babelfish doesn't provide the following client driver API support:

    • API requests with the connection attributes related to Microsoft Distributed Transaction Coordinator (MSDTC) aren't supported. These include XA calls by the SQLServerXAResource class in the SQL server JDBC driver.

  • Babelfish currently doesn't support the following Aurora PostgreSQL extensions:

    • bloom

    • btree_gin

    • btree_gist

    • citext

    • cube

    • hstore

    • hypopg

    • Logical replication using pglogical

    • ltree

    • pgcrypto

    • Query plan management using apg_plan_mgmt

    To learn more about PostgreSQL extensions, see Working with extensions and foreign data wrappers.

  • The open source jTDS driver that is designed as an alternative to the Microsoft JDBC driver is not supported.