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

适用于 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)才有意义。

Babelfish 转储和还原

从版本 4.0.0 和 3.4.0 开始,Babelfish 用户现在可以使用转储和还原实用程序来备份和还原其数据库。有关更多信息,请参阅 Babelfish dump and restore。此功能基于 PostgreSQL 转储和还原实用程序而构建。有关更多信息,请参阅 pg_dumppg_restore。为了在 Babelfish 中有效地使用此功能,您需要使用专门适用于 Babelfish 的基于 PostgreSQL 的工具。Babelfish 的备份和还原功能与 SQL Server 的备份和还原功能有很大不同。有关这些差异的更多信息,请参阅 Dump and restore functionality differences: Babelfish and SQL Server。Babelfish for Aurora PostgreSQL 为备份和还原 Amazon Aurora PostgreSQL 数据库集群提供额外功能。有关更多信息,请参阅 备份和还原 Amazon Aurora 数据库集群