适用于 Aurora PostgreSQL 的 Babelfish 与 SQL Server 之间的区别 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

适用于 Aurora PostgreSQL 的 Babelfish 与 SQL Server 之间的区别

Babelfish 是一项不断发展的 Aurora PostgreSQL 功能,自 Aurora PostgreSQL 13.4 首次推出以来,每个版本都添加了新功能。它旨在使用 TDS 端口通过 T-SQL 方言在 PostgreSQL 之上提供 T-SQL 语义。Babelfish 的每个新版本都添加了可更好地与 T-SQL 功能和行为保持一致的特性和功能,如 Babelfish 的各个版本支持的功能表中所示。为了在使用 Babelfish 时获得最佳效果,我们建议您了解 SQL Server 与最新版本的 Babelfish 支持的 T-SQL 之间目前存在的区别。要了解更多信息,请参阅“Babelfish 中的 T-SQL 差异”。

除了 Babelfish 和 SQL Server 支持的 T-SQL 之间的区别之外,您可能还需要在 Aurora PostgreSQL 数据库集群的背景下考虑 Babelfish 和 PostgreSQL 之间的互操作性问题。如前所述,Babelfish 使用 TDS 端口通过 T-SQL 方言在 PostgreSQL 之上支持 T-SQL 语义。同时,也可以使用 PostgreSQL SQL 语句通过标准 PostgreSQL 端口访问 Babelfish 数据库。如果您正在考虑在生产部署中同时使用 PostgreSQL 和 Babelfish 功能,则需要意识到架构名称、标识符、权限、事务语义、多个结果集、原定设置排序规则等之间潜在的互操作性问题。简而言之,当 PostgreSQL 语句或 PostgreSQL 访问发生在 Babelfish 的上下文中时,在新版本的 Babelfish 发布时,PostgreSQL 和 Babelfish 之间可能会发生干扰并可能影响语法、语义和兼容性。有关所有注意事项的完整信息和指导,请参阅 Babelfish for PostgreSQL 文档中的 Babelfish 互操作性指南

注意

在同一个应用程序上下文中同时使用 PostgreSQL 原生功能和 Babelfish 功能之前,我们强烈建议您考虑在 Babelfish for PostgreSQL 文档的 Babelfish 互操作性指南中讨论的问题。只有当您计划在与 Babelfish 相同的应用程序上下文中使用 PostgreSQL 数据库实例时,这些互操作性问题(Aurora PostgreSQL 和 Babelfish)才有意义。