提供了适用于 Aurora PostgreSQL 更新 - Amazon Aurora

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

提供了适用于 Aurora PostgreSQL 更新

在下文中,您可以了解有关 Aurora PostgreSQL 的 Babelfish 版本的信息。Babelfish 是 Aurora PostgreSQL 版本 13.4 及更高版本的可用选项。Babelfish 更新随 Aurora PostgreSQL 数据库引擎的某些新版本提供。

有关带有 Babelfish 的 Aurora PostgreSQL 扩展的信息,请参阅在 Babelfish 中 使用 Aurora Post greSQL 扩展。

有关 Babelfish 版本更新的信息,请参阅 Babel fish 版本更新。

有关不同 Babelf ish 版本中支持的列表,请参阅 Aurora PostgreSQL 版本中支持的列表,请参阅 Aurora PostgreSQL 参考 的列表。

Aurora PostgreSQL 3.1

此版本的 Aurora Babelfish 由 Aurora PostgreSQL 15.2 提供。有关 Aurora PostgreSQL 15.2 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 适用于 Aurora 的 Babelfish PostgreSQL 3.1 增加了多项新功能、增强功能和修复。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

Aurora Pabelfish

其他改进和增强功能
  • 支持从 Aurora PostgreSQL 数据库集群 14.6 和 14.7 的 Babelfish 升级到 Aurora PostgreSQL 15.2 的主要版本。有关主要版本升级的更多信息,请参阅将 Babelfish 集群升级到新 版本。

  • Support 以下函数:STR、APP_NAME、OBJECT_DEFINITION、OBJECT_SCHEMA_NAME、ATN2、DATEDIFF_BIG 函数。

    Support 以下 INFORMATION_SCHEMA 视图:序列、例程和架构。

    Support 表、视图、过程、函数、序列。

    Support sys.systypes 系统兼容性视图。

    Support 名为 babelfishpg_tds.product_version 的新 GUC 参数,该参数允许你设置 SQL Server 产品版本号,该版本号由 Babelfish 作为输出返回。有关更多信息,请参阅 使用 Babelfish 产品版本 GUC。

    增加了对为 Babelfish for Aurora PostgreSQL 数据库中存在的各种对象生成数据定义脚本的支持。有关更多信息,请参阅 Babelfish 支持的 DDL 导出

    Babelfish 现在支持使用微软托管 A AWS ctive Directory 的Directory Service 对 Kerberos 进行 Aurora PostgreSQL 数据库 有了这个功能,你可以在连接到 Babelfish 数据库时使用 Microsoft Windows 身份验证进行身份验证。有关更多信息,请参阅 Aurora PostgreSQL 的 Babelfish 的数据库身份验证

    Babelfish 现在使用 tds_fdw(TDS Foreign Data Wrapper)APG 扩展支持 Aurora PostgreSQL 数据库中的链接服务器。目前仅支持在指定链接服务器上执行指定直通查询的 OPENQUERY 函数。有关更多信息,请参阅 Babelfish 支持链接服务器

    增强和增强和增强

    修复了由于越界数组访问而导致的缓冲区溢出问题。

    高优先级稳定性增强功能

    修复了包括 OBJECT_ID ()、OBJECT_NAME ()、SCHEMA_ID () 在内的多个系统函数中的性能问题。

    修复了系统存储过程 sp_sproc_columns 和 sp_fkeys 中的性能问题。

    修复了系统目录视图 sys.all_views、sys.objects 和 sys.types 中的性能问题。

    提高了批量加载、T-SQL 解析和预处理语句的性能。

    添加了一个新的系统存储过程 sp_babelfish_volity,您可以使用它来设置用户定义函数的波动性,以改善将函数用作查询谓词一部分时的索引使用。

    修复了引用已更新表的关联名的 UPDATE FROM 或 DELETE FROM 语句引发错误的问题。

    修复了 scope_identity 函数在退出一个作用域后返回错误结果的问题。

    修复了从.NET 客户端框架调用命令时名称解析无法按预期工作的问题。

    修复了查询优化器不考虑在具有二进制/varbinary 数据类型的列上定义的任何索引作为相等谓词的问题。

    其他改进和增强功能

    修复了 scope_identity 函数需要的权限高于实际需要的问题。

    Support 使用链接服务器的以下存储过程:sp_addlinkedserver、sp_dropserver、sp_linkedservers、sp_addlinkedsrvlogin、sp_droplinkedsrvlogin。

    Support 获取序列下一个值的 NEXT VALUE FOR 函数。请注意,此函数不能在某些control-of-flow语句中使用。也不支持 OVER 子句。

    修复了使用 sp_describe_undeclared_parameters 处理某些错误时出现的崩溃问题。

    修复了创建 Babelfish 扩展程序时出现的罕见错误。

    修复了在 sp_executesql 中使用 TVP 时引发错误 “类型名称为空” 的问题。

    修复了在使用 FOR XML PATH 子句的子查询中使用带相关名称的 SELECT FOR XML/JSON 行为不会引发错误的问题。

    修复了 SELECT FOR JSON 或 SELECT FOR XML 查询未为空表返回正确结果的问题。

    修复了访客用户可以在错误的架构中创建对象的问题。

    修复了系统存储过程中参数类型的用户定义类型的架构名称解析。

    修复了为准备好的语句发出具有超过 100 个绑定参数的查询的应用程序失败的问题。现在,此限制已增加到 2100,以与 SQL Server 使用的限制相匹配。

    修复了 sp_executesql 调用中变量名称的大小写处理问题。

    sp_fkeys 存储过程现在还在结果集中返回 “延迟性” 列。

    修复了 AVG 聚合中导致某些整数数据类型的连接终止的问题。

    现在,对于属于同一对象的索引,相应视图的 index_id 和 indid 列返回相同的值,而且 index_id 仅在对象内是唯一的。

    修复了在存储过程中使用 nvarchar 或 jo OpenJson in 调用时不会引发错误的问题。

    修复了在使用 try_convert 和 try_cast 进行涉及某些整数文字的禁止转换时不会引发错误的问题。

    修复了允许 OPENJSON WITH 子句接受表别名的问题。

    Support 度数、弧度和乘方函数返回正确的类型。

    修复了无法正确处理 sysadmin 的成员资格处理的问题。

    修复了使用 CONVERT 函数将日期/时间类型转换为 VARCHAR 类型时的默认输出样式。

    在创建程序/函数/触发器中Support 以调用者身份执行子句。

    修复了在现有 sp_executesql 作用域之后配置无法恢复的问题。

    修复了处理 sys.has_perms_by_name 函数的跨数据库访问时出现的问题。

    Support SERVERPROPERTY 函数的ProductLevel和ProductUpdateLevel属性。ProductUpdateLevel总是返回 NULL 并与 T-SQL 定义密切跟ProductLevel踪 Babelfish 版本号。

    修复了将表变量用作客户端应用程序的绑定参数时导致错误的问题。

    Aurora PostgreSQL 2.

    此版本的 Aurora Babelfish 由 Aurora PostgreSQL 14.7 提供。有关 Aurora PostgreSQL 14.7 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 适用于 Aurora 的 Babelfish PostgreSQL 2.4 增加了多项新功能、增强功能和修复。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

    Aurora Pabelfish

    其他改进和增强功能

    修复了防止在 “master” 以外的数据库中创建序列时出现错误的问题。

    修复了特定场景中批量加载操作期间的崩溃问题。

    Aurora Pabelfish

    • 支持从 Aurora PostgreSQL 数据库集群 14.3 及更高版本的 Babelfish 升级到 Aurora PostgreSQL 14.7 的次要版本。有关次要版本升级的更多信息,请参阅将 Babelfish 升级到新的次要 版本。

    • 支持从 Aurora 的 Babelfish PostgreSQL 数据库集群 13.x 及更高版本升级到 Aurora PostgreSQL 14.7。有关主要版本升级的更多信息,请参阅将 Babelfish 升级到新的主要 版本。

    • Support 以下函数:STR、APP_NAME、OBJECT_DEFINITION、OBJECT_SCHEMA_NAME、ATN2、DATEDIFF_BIG 函数。

      Support 以下 INFORMATION_SCHEMA 视图:序列、例程和架构。

      Support 表、视图、过程、函数、序列。

      Support sys.systypes 系统兼容性视图。

      Support 名为 babelfishpg_tds.product_version 的新 GUC 参数,该参数允许你设置 SQL Server 产品版本号,该版本号由 Babelfish 作为输出返回。有关更多信息,请参阅 使用 Babelfish 产品版本 GUC。

      增加了对为 Babelfish for Aurora PostgreSQL 数据库中存在的各种对象生成数据定义脚本的支持。有关更多信息,请参阅 Babelfish 支持的 DDL 导出

      增强和增强和增强

      修复了由于越界数组访问而导致的缓冲区溢出问题。

      高优先级稳定性增强功能

      修复了包括 OBJECT_ID ()、OBJECT_NAME ()、SCHEMA_ID () 在内的多个系统函数中的性能问题。

      修复了系统存储过程 sp_sproc_columns 和 sp_fkeys 中的性能问题。

      修复了系统目录视图 sys.all_views、sys.objects 和 sys.types 中的性能问题。

      提高了批量加载、T-SQL 解析和预处理语句的性能。

      添加了一个新的系统存储过程 sp_babelfish_volity,您可以使用它来设置用户定义函数的波动性,以改善将函数用作查询谓词一部分时的索引使用。

      修复了引用已更新表的关联名的 UPDATE FROM 或 DELETE FROM 语句引发错误的问题。

      修复了 scope_identity 函数在退出一个作用域后返回错误结果的问题。

      修复了从.NET 客户端框架调用命令时名称解析无法按预期工作的问题。

      其他改进和增强功能

      修复了 scope_identity 函数需要的权限高于实际需要的问题。

      Support 获取序列下一个值的 NEXT VALUE FOR 函数。请注意,此函数不能在某些control-of-flow语句中使用。也不支持 OVER 子句。

      修复了使用 sp_describe_undeclared_parameters 处理某些错误时出现的崩溃问题。

      修复了创建 Babelfish 扩展程序时出现的罕见错误。

      修复了在 sp_executesql 中使用 TVP 时引发错误 “类型名称为空” 的问题。

      修复了在使用 FOR XML PATH 子句的子查询中使用带相关名称的 SELECT FOR XML/JSON 行为不会引发错误的问题。

      修复了 SELECT FOR JSON 或 SELECT FOR XML 查询未为空表返回正确结果的问题。

      修复了访客用户可以在错误的架构中创建对象的问题。

      修复了系统存储过程中参数类型的用户定义类型的架构名称解析。

      修复了应用程序为准备好的语句发出具有超过 100 个绑定参数的查询失败的问题。现在,此限制已增加到 2100,以与 SQL Server 使用的限制相匹配。

      修复了 sp_executesql 调用中变量名称的大小写处理问题。

      sp_fkeys 存储过程现在还在结果集中返回 “延迟性” 列。

      修复了 AVG 聚合中导致各种整数数据类型的连接终止的问题。

      现在,对于属于同一对象的索引,相应视图的 index_id 和 indid 列返回相同的值,而且 index_id 仅在对象内是唯一的。

      修复了在存储过程中使用 nvarchar 或 jo OpenJson in 调用时不会引发错误的问题。

      修复了在使用 try_convert 和 try_cast 进行涉及 int 文字的禁止转换时不会引发错误的问题。

      修复了允许 OPENJSON WITH 子句接受表别名的问题。

      Support 度数、弧度和乘方函数返回正确的类型。

      修复了无法正确处理 sysadmin 的成员资格处理的问题。

      修复了使用 CONVERT 函数将日期/时间类型转换为 VARCHAR 类型时的默认输出样式。

      在创建程序/函数/触发器中Support 以调用者身份执行子句。

      修复了在现有 sp_executesql 作用域之后配置无法恢复的问题。

      修复了处理 sys.has_perms_by_name 函数的跨数据库访问时出现的问题。

      Support SERVERPROPERTY 函数的ProductLevel和ProductUpdateLevel属性。ProductUpdateLevel总是返回 NULL 并与 T-SQL 定义密切跟ProductLevel踪 Babelfish 版本号。

      修复了将表变量用作客户端应用程序的绑定参数时导致错误的问题。

      Aurora PostgreSQL 2.

      此版本的 Aurora Babelfish 由 Aurora PostgreSQL 14.6 提供。有关 Aurora PostgreSQL 14.6 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 适用于 Aurora 的 Babelfish PostgreSQL 2.3 增加了多项新功能、增强功能和修复。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

      Aurora Pabelfish

      • 支持主要版本Aurora BabelfAurora h。有关主要版本升级的更多信息,请参阅将 Babelfish 集群升级到新 版本。

      • Support T-SQL 提示(连接方法、索引用法、MAXDOP)。有关 Babelfish 支持的 T-SQL 提示的更多信息,请参阅 使用 T-SQL 查询提示提高 Babelfish 查询性能

      • Babelfish 现在支持零停机时间修补 (ZDP)。有关更多信息,请参阅 Amazon Aurora 用户 指南中的 次要版本升级和零停机时间补丁

      • Support FORMAT () T-SQL 函数,但有一些小限制。

      • Support THROW、PRINT、USE 和 RAISEERROR 语句的估计执行计划。

      • Support Babelfish 中的 JSON_MODIFY 函数,该函数更新 JSON 字符串中属性的值并返回更新后的 JSON 字符串。

      • Support SELECT 语句中的 FROM 子句中的 VALUES () 构造函数。

      • Support sp_addrole、sp_droprole、sp_addrolemember、sp_droprolemember 过程来创建或修改角色。

      • Support sys.all_parameters 目录视图。

      • 在所有用户创建的数据库中Support 访客用户,并支持 GRANT/CONNECT TO/FROM 用户(包括访客)。

      • Support sp_helpdbfixedrole 和 DATETIMEOFSETFROM PARTS 函数。

高优先级稳定性增强功能
  • 提高了 IDENTITY_INSERT=ON 的 INSERT 语句的性能。

  • 修复了由于使用了不正确的比较运算符,“DROP DATABASE” 语句失败的问题。

  • 修复了未正确处理数字类型的数字溢出错误的问题。

  • 修复了数据库所有者在其自己的数据库中不被视为 dbo 的问题。

  • 修复了 SSL 握手失败的问题,并添加了一些其他改进。

  • 修复了 sys.all_objects 视图以正确识别以前报告为标量函数 (FN) 的内联表值函数 (IF) 和表值函数 (TF)。修复了 OBJECTPROP IsInlineFunction ERTY 函数的属性的类似问题。

  • 修复了错误地假定 DBO 为数据库角色成员的问题。

  • 修复了系统管理员成员无法通过 SSMS 进行连接的问题。

  • 更正了触发器和视图的架构名称解析,以便它选择/修改正确的对象(表)。

  • 修复了创建名称为大写/小写的角色时目录中的映射一致性问题。

  • 修复了因权限不足而拒绝其他登录名访问后删除数据库被阻止的问题。

  • 修复了除 TEXT 和 NTEXT 以外的 Babelfish 数据类型的默认排序规则,使其与 babelfishpg_tsql.server_collation_name 参数中提到的排序规则相同。有关更多信息,请参阅 Babelfish 中的默认排序规则。

  • 修复了跨数据库对 tempdb.sys.objects 的引用以获得正确结果。

其他改进和增强功能
  • 修复了使每个数据库的触发器名称独一无二的问题。

  • 修复了从 JDBC 元数据函数调用 sp_tables 时出现的问题。

  • 修复了在 LIKE 条件下使用 CHECK 约束时出现的问题。

  • 处理存储过程时 sp_sproc_columns 的性能得到改进。

  • sp_sproc_columns 现在包含使用 TVP 作为参数的存储过程的表值参数行。

  • 修复了跨数据库引用 INFORMATION_SCHEMA.RUTIONS 和 tempdb.sys.objects 以给出正确的结果。

  • 修复了支持各种数字和非数字数据类型的 datetime/smalldatetime 操作的问题。

  • 修复了整数数据类型的 SUM 聚合的返回值以返回正确的数据类型。

  • 修复了将 “更新/删除” 与表别名一起使用时出现的问题。

  • 增加了对所有用户定义的表、视图、过程、函数、触发器和表类型的 sysobjects.crdate (create_date) 的Support。

  • 当缺少必需的参数并引发显式错误时,不允许调用过程/函数。

  • 修复了在不考虑时间戳(即 hh: mm: ss.msec)的情况下计算日差和时差的问题。

  • 修复了 DATEDIFF () 函数在两个输入日期之间返回正确结果的问题,无论输入参数如何。

  • 修复了 DATEADD () 函数与 “纳秒” 单位一起使用时出现的问题。

  • 修复了 DATEPART ()、DATENAME ()、DATEDIFF () 和 DATEADD () 函数与 'w' 单位一起使用时出现的问题

  • 修复了 DATEPART () 和 DATENAME () 允许单位 “y” 的问题。

  • 修复了 DATEPART ()、DATENAME ()、DATEDIFF () 和 DATEADD () 函数在将字符串转换为日期时间和识别 mi 单位时出现的问题。

  • Support TRY_CONVERT () 函数。

  • 修复了在数组中使用 strict/lax jsonpath 以避免 OPENJSON 错误时出现的问题:“jsonpath 输入处或附近” 的语法错误”。

  • Support UDF(用户定义函数)作为 ALTER TABLE 语句中的列默认值。

  • 修复了 SUBSTRING () 采用空参数时出现的问题。

  • Support 从各种数字类型向 SMALLDATETIME 进行投射操作。

  • 修复了无法正确处理 sp_helpdb 的 dbname 参数的问题。

  • 修复了允许数据库所有者为自己创建另一个用户的问题。

  • 修复了在 sp_helpsrvrolemember 和 IS_ROLEMEMBER/IS_MEMBER 函数中不忽略尾部空格的问题。

  • 改进了不支持的数据类型的错误消息:HIARCHERYID、GEOGRAPHY、GEOMETRY。

  • 修复了即使没有 EXECUTE 关键字也可以成功从其他数据库进行跨数据库过程调用和 sp_ 过程访问的问题。

  • 修复了用户 “guest” 不会被删除到任何数据库中,而只是被禁用的问题。

  • 修复了用户为访客时程序 sp_helpuser 中 SID 的列值。

  • 修复了无法使用资金数据类型处理溢出/下溢的问题。

  • 修复了在 tds 中处理错误时无法处理错误的问题。

  • 修复了 “无需登录即可创建用户” 的更好错误消息。

  • 修复了 sp_helpsrvrolemember 为不支持的服务器级角色引发不支持的错误的问题。

  • 修复了 SET BABELFISH_STATISTICS PROFILE 显示计划和执行时间的问题。

  • 更正了 Babelfish 对象(如视图和触发器)的架构名称解析,以便选择或修改正确的对象。

  • Support 批量插入的行版本/时间戳数据类型。

  • 在 Babelfish 中,sp_babelfish_configure 通过 “打开/关闭” 来支持 enable_pg_hint 和解释相关配置。在使用 sp_babelfish_configure 时有多个匹配项时,允许接受 “忽略/严格” 选项。

  • Support 保留空值 (-k) bcp 选项,以优化实现批量插入。

  • Support 多字节货币符号与货币数据类型一起使用。

  • 修复了某些算术表达式收到无效精度/尺度错误的 dotnet 客户端(包括 SSMS)的问题。

  • 修复了 sys.all_objects 视图以正确识别以前报告为标量函数 (FN) 的内联表值函数 (IF) 和表值函数 (TF)。修复了 OBJECTPRO IsInlineFunction PERTY 函数属性的类似问题。

  • 修复了 is_member 函数为某些角色返回错误结果的问题。

  • 改进了支持 ROOT、INCLUDE_NULL_VALUES、WITHOUT_ARRAY_WRAPPER 的 SELECT 语句的 FOR

  • 支持新的逃生舱口 “escape_hatch_checkpoint”,默认为 “忽略”。该转义孵化允许在过程代码中使用 CHECKPOINT 语句,但当前尚未实现 CHECKPOINT 语句。

Aurora PostgreSQL 2.

此版本的 Aurora Babelfish 由 Aurora PostgreSQL 14.5 提供。有关 Aurora PostgreSQL 14.5 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 适用于 Aurora 的 Babelfish PostgreSQL 2.2 增加了多项新功能、增强功能和修复。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

Aurora Pabelfish

  • 修复了无法为 babelfishpg_tsql.server_collation_name 使用 Chinese_prc_ci_as、Japanese_ci_as 等排序规则的问题。

Aurora Pabelfish

增强和增强和增强

修复了由于不正确处理某些应用程序功能的用户输入而导致的 Babelfish 中的严重问题。这是可以追踪的 https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj

高优先级稳定性增强功能

修复了 sp_prepare 调用中的错误处理,该错误处理在应用程序发送大量参数时可能导致服务器崩溃。Babelfish 目前最多支持 100 个过程或函数的参数。

修复了某些客户端驱动程序在 SSL/TLS 握手中处理错误的问题。

修复了登录 DROP/CREATE 后,登录者无需创建数据库用户即可访问数据库的问题。

修复了在任何会话中登录后登录都不会中断的问题。

Support 交叉应用和外部应用(横向连接)。

Support 内置函数 SYSTEM_USER、HOST_NAME;主机名在 sys.sysprocess T-SQL 视图中可见;支持 SID_BINARY 函数,但在 Babelfish 中总是返回 NULL。

Support 将数字表达式转换为 DATETIME 的函数。

Support @ @LANGUAGE 变量,其常量值为 'us_english '。

Support 在函数名称前面加上 '::' 的旧式函数调用。

Support sp_helpsrvrolemember 存储过程。

Support msdb.dbo.fn_syspolicy_is_automation 的系统功能。

Support 更多目录:assembly_types、numbered_processellations、plan_guides、同义词、事件、trigger_events、dm_hadr_cluster、xml_indexes、change_tracking_table_table_system_defined_objects、hash_indexes 文件、assembly_modules、change_tracking_database_recovery_status、fulltext_dext_columns、selective_xml_index_paths、fulltex_dex_paths、fulltex_dex_paths、fulltex_dex_pathregistered_search_property_list、syspolicy_system_health_state。

Support 新的 INFORMATION_SCHEMA 目录:COLUMN_DOMAIN_USAGE、CONSTRAINT_COLUMN_USAG、CHECK_CONSTRAMINT、例程、

Support 全新 PG 风格的查询计划:逃生孵化 “babelfish_pgtsql.escape_hatch_showplan_all”。

  • 当设置为 “ignore” 时,SET SHOWPLAN_ALL 和 SET BABELFISH_SHOWPLAN_ALL 的行为与 SET BABELFISH_SHOWPLAN_ALL 类似。

  • 当设置为 “严格” 时,SET SET STATICS PROFILE 和 SET STATICS PROFILE 配置文件

Support 在不使用由三部分组成的名称的情况下在主数据库中执行带有 sp_ 前缀的存储过程。

其他改进和增强功能

修复了在日期时间列中插入或更新 NULL 时存储值 1900-01-01 00:00:00 的问题。现在插入了 NULL 值。在先前 Babelfish 版本中创建的表中的列值不受影响。

在 SQL Server 中返回 7 位数的 TIME 数据类型现在也在 Babelfish 中返回 7 位数,第 7 位数字始终为零。此外,有时会影响第 6 位数字的舍入问题已得到解决。

从 nvarchar (384) 增加到 nvarchar (8000) 的 sp_describe_first_result_set 的 @tsql 和 @params 的参数长度。这将 DMS Babelfish 目标端点可以支持的列数从 25 增加到 1000 列。

提高了系统存储过程的性能:sys.sp_tablecolations_100、sp_columns_managed 和 sp_describe_undeclared_parameters。此修复提高了 DMS Babelfish 目标端点 SQL Server Management Studio 导入和导出向导的性能,并防止了超时。

修复了 Bitwise NOT ~ 运算符的问题,它现在使用 BIT 数据类型返回正确的结果。

修复了 BCP 用于有触发器的表时出现的问题。

修复了使用导入导出向导时批量插入 INSERT 中的后端故障问题。

修复了 SQL Server Management Studio (SSMS) 在对象资源管理器视图中展开表的 “触发器” 时返回错误的问题。

修复了 sys.sysobjects 视图中的名称列使用区分大小写的排序规则的问题。

修复了在函数内部引用 SQL 对象的问题,该问题已解析为函数的架构而不是用户的默认架构。

修复了在计算列上使用 ISNULL 函数和 CONVERT 时可能发生后端崩溃的问题。

修复了日期参数为字符串文字时 DATEPART 函数出现的问题。

修复了即使角色有成员也会被删除的问题。

修复了数据库用户无法添加角色或从角色中删除的问题。

修复了允许 BCP 在除英语排序规则之外的排序规则中正常工作的问题。

修复了使 sp_helpuser 过程显示 dbo 用户的登录名的问题。

修复了正确处理函数 SUSER_SNAME 和 SUSER_SID 的空值和大小写混合输入的问题。

修复了出现数字溢出错误时 Babelfish 返回无效的 TDS 协议流的问题。

修复了 is_fixed_role 列在 sys.server_principals 视图中为 “sysadmin” 角色返回错误值的问题。

修复了在传递给执行的字符串包含 USE dbname 且由于未找到数据库 dbname 而失败的情况下批处理事务错误的问题。

修复了在主数据库上下文中创建的带有前缀 sp_ 的过程无法从其他数据库上下文访问的问题。

修复了与架构名称一起使用时无法解析过程内的对象名称的问题。

修复了函数 USER_ID 和 SUSER_ID 的参数存在区分大小写的问题。

修复了允许在 Babelfish 临时表上创建触发器的问题。

修复了导入导出向导的几个性能问题。

Support VARCHAR (n) 的 UTF-16 以外的多字节客户端编码。

修复了系统兼容性视图 sys.sysprocess 以显示客户端连接提供的主机名的正确值。

修复了 Polish_ci_as 排序规则的区分大小写问题。

修复了 @ @DBTS 函数以便 @ @DBTS 的值在每条 DML 语句之后都能正确返回当前事务 ID,即使在事务中使用也是如此。

提高了引用 SCOPE_IDENTITY 和 @ @IDENTITY 函数的查询的性能。

为 fn_helpcollation 增加了对 japanese_cs_as、japanese_ci_ai 和 japanese_ci_as 的排序规则的Support。

@ @SERVERNAME 和 SERVERPROPERTY (ServerName') 现在返回用户在创建实例时指定的 Babelfish 实例的名称。此值也由新支持的属性 SERVERPROPERTY (MachineName') 和 SERVERPROPERTY (' InstanceName ') 返回。

函数 fn_mapped_syst_error_list 函数 fn_mapped_syst_list 代码的 PG 错误代码以及相应的错误消息文本。@ERROR 此函数也存在于之前的 Babelfish 版本中,但不包含映射细节。

修复了 DATEADD 函数,现在支持毫秒 (ms) 时间单位。

SET NO_BROWSETABLE { ON|OFF} 现在受到 escape hatch escape_hatch_session_settings 的影响,因此设置为忽略时不会引发任何错误。

现在支持 SET PARSEONLY { ON|OFF}。以前,除非将 escape hatch escape_hatch_session_settings 设置为忽略,否则这会引发错误。

现在支持 DATABASE_DEFAULT 和 CATALOG_DEFAULT 排序规则;这是指创建 Babelfish 实例时指定的服务器/实例级排序规则,因为 Babelfish 目前不支持数据库级别的排序规则。

对于函数 OBJECTPROPERTY 和 OBJECTPROPERTYEX,现在支持以下属性:ExecIsAnsiNullsOnExecIsQuotedIdentOn、IsDefault、、IsDefaultCnst、IsDeterministic、、IsIndexed、、IsInlineFunction、、、、、、、、IsPrimaryKey、、IsProcedure、、 0、 1、、 2、、 3、 4、 5。 6 7 8 9 0IsRuleIsScalarFunctionIsSchemaBoundIsTableIsTableFunctionIsTriggerIsUserTableIsViewOwnerIdTableFulltextPopulateStatus TableHasVarDecimalStorageFormat

OBJECTPROPERTYEX 函数支持该属性。BaseType

INDEXPROPERTY 函数支持以下属性:IndexFillFactor、IndexID、、IsClustered、、IsDisabled、、IsHypothetical、IsPadIndex、IsPageLockDisallowed。IsRowLockDisallowed IsUnique

Aurora PostgreSQL 2.1

此版本的 Aurora Babelfish 由 Aurora PostgreSQL 14.3 和 14.4 提供。有关 Aurora PostgreSQL 14.3 和 14.4 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 适用于 Aurora 的 Babelfish PostgreSQL 2.1 增加了多项新功能、增强功能和修复。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

适用于 Aurora 的 Babelfish PostgreSQL 版本 2.1.2,2022 年 10 月 18 日

增强和增强和增强

修复了由于不正确处理某些应用程序功能的用户输入而导致的 Babelfish 中的严重问题。这是可以追踪的 https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj

高优先级稳定性增强功能

修复了 sp_prepare 调用中的错误处理,该错误处理在应用程序发送大量参数时可能导致服务器崩溃。Babelfish 目前最多支持 100 个过程或函数的参数。

修复了某些客户端驱动程序在 SSL/TLS 握手中处理错误的问题。

提供了适用于 Aurora PostgreSQL 的 Babelfish

在 Aurora PostgreSQL 13.7 或更早版本上运行的 Babelfish 数据库集群无法升级到具有 Babelfish 2.1.0 的 Aurora PostgreSQL 14.3。

Support 使用 bcp 客户端实用程序进行数据迁移,这是一项实验性功能。目前不支持某些 bcp 选项(-b、-C、-E、-G、-h、-K、-k、-q、-R、-T、-V)。

Support 连接 SSMS 对象资源管理器连接对话框(而不仅仅是查询编辑器连接对话框),还部分支持 SSMS 对象资源管理器本身。

使用 SSMS Import/Export 向导对数据迁移的支持。

Support IS_MEMBER、IS_ROLEMBER 和 HAS_PERMS_BY_NAME 函数。

Support syslanguages、sys.indexes、sys.all_views、sys.database_files、sys.system_sql_modules、sys.xml_schema_collections、sys.dam_hadr_database_replica_statabase_mirroring、sys.database_role_mering。

Support sp_sproc_columns、sp_sproc_columns_100、sp_helprole、sp_helprolember 系统存储过程。

Support 日语_cs_as、日语_ci_ai、日语_ci_as 排序规则。

Babelfish 现在支持使用非确定性排序规则的系统上的 CHARINDEX 子字符串搜索。

Babelfish 现在支持 PATINDEX,并支持使用不区分大小写的排序规则进行整理的 STRING_SPLIT 的参数。

查询计划输出是在将 BABELFISH_STATICS PROFIS PROFILE PROFIS PROFILE PROFILE PROFILE PROFILE PROFILE PROFILE PROFILE 这将为 Babelfish 中的 T-SQL 查询生成 PostgreSQL 风格的查询计划信息。确保这些 SET 语句与现有的 T-SQL 语句相同,但添加了 BABELFISH_ 前缀。

其他改进和增强功能

交叉—当前数据库之外的数据库引用,对象名称由三部分组成,用于 SELECT、SELECT.. INTO、INSERT、UPDATE、DELETE。

创建角色(不支持授权子句)、删除角色、更改角色。

Babelfish 现在映射了 @ @ERROR =213 的错误代码。有关错误处理的更多信息,请参阅 管理 Babelfish 错误 处理。

修复了 SUBSTRING (CHARINDEX ()) 变量分配中导致 Babelfish 不可用的问题。

  • 修复了 INSERT INTO... 中使用 OUTPUT 子句时导致 Number of given values doesn't match target table definition 错误的问题。

    修复了导致 DELETE 和 OUTPUT INTO 临时表语句返回 WITH query 'nnnnnnnnnnn' doesn't have a RETURNING clause 错误的问题。

    修复了导致左外连接失败并出现 Sqlcmd: Error: Internal error at ReadAndHandleColumnData (Reason: Error reading column data) 错误的问题。此问题是 Babelfish 1.0。如果你的 Babelfish for Aurora PostgreSQL 数据库集群运行 Babelfish 版本 1.1.0 并且出现此错误,我们建议你升级到 Aurora PostgreSQL 13.7 以获得此修复程序。

    修复了使用 GETUTCDATE () 和 SYSUTCDATETIME () 内置函数时出现的无效语法错误。

    修复了使用 SUM () 和 AVG () 函数的数值溢出条件导致 TDS 错误的问题。

    修复了.NET 应用程序调用DataTable对象的存储过程导致数据类型不匹配和不允许出现隐式转换错误的问题。

    Aurora PostgreSQL 1.

    此版本的 Aurora Babelfish 由 Aurora PostgreSQL 13.9 提供。有关 Aurora PostgreSQL 13.9 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Babelfish for Aurora PostgreSQL 1.5。 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

    Aurora Pabelfish

  • 高优先级稳定性增强功能
    • 修复了次要版本从 13.4 升级到 13.5 或更高版本期间与金钱操作员等级有关的问题,因此升级失败。

    Aurora PostgreSQL 1.

    此版本的 Aurora Babelfish 由 Aurora PostgreSQL 13.8 提供。有关 Aurora PostgreSQL 13.8 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Aurora PostgreSQL 的 Babelfish fish for Aurora PostgreS 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

    Aurora Pabelfish

    • 修复了无法成功将次要版本从 Aurora PostgreSQL 13.4 数据库集群成功升级到 Aurora PostgreSQL 13.8 的问题。

    Aurora Babelfish 发布 1.4.0,2022 年 11 月 9 日

    增强和增强和增强

    修复了由于不正确处理某些应用程序功能的用户输入而导致的 Babelfish 中的严重问题。这是可以追踪的 https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj

    高优先级稳定性增强功能

    修复了 sp_prepare 调用中的错误处理,该错误处理在应用程序发送大量参数时可能导致服务器崩溃。Babelfish 目前最多支持 100 个过程或函数的参数。

    修复了某些客户端驱动程序在 SSL/TLS 握手中处理错误的问题。

    修复了 babelfishpg_tds 扩展以正确分配该扩展使用的共享内存大小。

    Aurora PostgreSQL 1.

    此版本的 Aurora Babelfish 由 Aurora PostgreSQL 13.7 提供。有关 Aurora PostgreSQL 13.7 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Aurora PostgreSQL 的 Babelfish fish for Aurora PostgreS 有关 Aurora PostgreSQL 的 Babelfish fish fish fish for Aurora PostgreSQL。

    适用于 Aurora 的 Babelfish PostgreSQL 版本 1.3.3,2022 年 12 月 14 日

    修复了由于不正确处理某些应用程序功能的用户输入而导致的 Babelfish 中的严重问题。这是可以追踪的 https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj

    高优先级稳定性增强功能

    修复了 sp_prepare 调用中的错误处理,该错误处理在应用程序发送大量参数时可能导致服务器崩溃。Babelfish 目前最多支持 100 个过程或函数的参数。

    修复了某些客户端驱动程序在 SSL/TLS 握手中处理错误的问题。

    修复了 SUBSTRING (CHARINDEX ()) 变量分配中导致 Babelfish 不可用的问题。

  • 修复了 INSERT INTO... 中使用 OUTPUT 子句时导致 Number of given values doesn't match target table definition 错误的问题。

    修复了导致 DELETE 和 OUTPUT INTO 临时表语句返回 WITH query 'nnnnnnnnnnn' doesn't have a RETURNING clause 错误的问题。

    修复了导致左外连接失败并出现 Sqlcmd: Error: Internal error at ReadAndHandleColumnData (Reason: Error reading column data) 错误的问题。此问题是 Babelfish 1.0。如果你的 Babelfish for Aurora PostgreSQL 数据库集群运行 Babelfish 版本 1.1.0 并且出现此错误,我们建议你升级到 Aurora PostgreSQL 13.7 以获得此修复程序。

    Aurora PostgreSQL 1.

    此版本的 Babelfish 由 Aurora PostgreSQL 13.6 提供。有关 Aurora PostgreSQL 13.6 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Babelfish 1.2 版本中解决了以下问题。有关 Babelfish 的更多信息,请参阅 使用 Babelfish fish fish for Aurora PostgreSQL

    适用于 Aurora 的 Babelfish PostgreSQL 版本 1.2.4,2022 年 12 月 15 日

    修复了在使用临时表后导致 Babelfish 变得不可用的问题。

    修复了无法成功将次要版本从 Aurora PostgreSQL 13.4 或 13.5 数据库集群成功升级到 Aurora PostgreSQL 13.6 的问题。

  • 修复了无法使用 SQL Server Management Studio 导入和导出向导将数据传输到包含标识列的表的问题。

  • 提供了适用于 Aurora PostgreSQL 的 Babelfish

    除了以下列表中的新和改进外,Aurora PostgreSQL 1.2.0 的 Babelfish 还添加了几项目前实施受限的功能。这些功能可供使用,但尚未与 T-SQL 语法或 Microsoft SQL Server 完全对等。有关更多信息,请参阅 有限实现的功能

    • 现在保留了使用 T-SQL 创建的列名的大小写。也就是说, SELECT * FROM table 使用在 TDS 终端节点创建表时使用的相同大小写返回列名。

    • 表格现在支持 INSTEAD-OF 触发器(仅限表,不支持视图)。

    • Support 系统定义的全局变量 @ @DBTS、@ @LOCK_TIMEOUT、@ @SERVICENAME。

    • Support 语法 SET LOK_TIMEOUT。

    • Support 数据类型 TIMESTAMP 和 ROWVERSION。

    • Support 内置函数 COLUMNS_UPDATE、UPDATE、FULLTEXTSERVICEPROPERT、ISJSON、JSON_QUERY、JSON_VALUE、HAS_DBACCESS、SUSER_SNAME、IS_SRVROLEMBER。

    • 完全支持 CHECKSUM 函数。此函数现在支持 * 和多列 ( CHECKSUM ( * | expression [ ,...n ] ) )。

    • 完全支持 SCHEMA_ID 函数。现在可以不带任何参数使用此函数 ( SCHEMA_ID ( [ schema_name ] ) )。

    • 支持对 SCHEMA、DATABASE 和 USER 对象使用 DROP IF EXISTS。

    • CONNECTIONPROPERTY Support 以下附加值:physical_net_transport 和 client_net_addres

    • Support 以下服务器属性值:EditionID、、、EngineEdition、、LicenseType、ProductVersion、、ProductMajorVersion、ProductMinorVersion、IsLocal DB IsIntegratedSecurityOnly、、IsAdvancedAnalyticsInstalled IsBigDataCluster 0 1、和 isXTP 支持。IsPolyBaseInstalledIsFullTextInstalled

    • Support 以下目录:sys.dm_os_host_info、sys.dm_exec_sessions、sys.dm_exec_connections、sys.dam_table_types、sys.dambase_principals、sys.syscurconfiges 和 sys.configure。

    • Support 这些 INFORMATION_SCHEMA 目录:表、列、域和 TABLE_CONSTRAINTS。

    • Support 以下系统存储过程:sp_table_priverited、sp_column_priverited、sp_special_columns、sp_pkeys、sp_stored_parameters、xp_qv、sp_describe_undeclared_parameters 和 sp_helpuser。

    • 对创建、更改和删除数据库主体(USER 对象)的支持有限。使用 USER 对象的 CREATE/ALTER/DROP 语法的限制如下:

      • 对于 CREATE USER,您只能指定 FOR/FROM LOGIN 和 DEFAULT_SCHEMA 选项。

      • 对于 ALTER USER,您只能指定 DEFAULT_SCHEMA 选项。

    • 对 SET FMTONLY 开启命令的支持有限。将此命令设置为 ON 仅抑制执行 SELECT 语句。它不抑制其他语句的执行。

    • 仅支持针对数据库主体(而非数据库角色)的授予和撤销 (GRANT/REVOKE) 权限。Support 的包括 CRET、INSERT、UPDATE、UPDATE、DELETE、REFERENCES、REFERENCES、REFERENCES、REFERENCES

    • 支持 CREATE SCHEMA 上的 WITH AUTHORIZATION。

    • 支持以下新的转义孵化和转义孵化功能:

      • 通过将 Babelfish 数据库实例的默认设置传递给 default 存储过程来恢复 Babelfish 数据库实例的所有默认设置。 sp_babelfish_configure

      • 新的转义孵化控制 CREATE/ALTE escape_hatch_ignore_dup_key R TABLE 和 CREATE INDEX 语句中的 IGNORE_DUP_KEY 选项。当 IGNORE_DUP_KEY=ON 时,将会出现错误,除非将 escape_hatch_ignore_dup_key 设置为 'ignore'

      • 增加了对 escape_hatch_storage_options 逃生舱口 ignore 选项的支持。当设置为,Babelfish 设置时 ignore ,Babelfish 将忽略以下情况下出现的错误:

        • 忽略 CREATE DATABASE 语句中 ON 子句中引发的错误。

        • 忽略 CREATE INDEX 与 SORT_IN_TEMPDB、DROP_EXISTING 或 ONLINE 选项一起使用时引发的错误。

        有关详细信息,请参阅 管理 Babelfish 错误处理

      • msdb 系统数据库始终存在,并且 dbid=4。有关更多信息,请参阅 Babelfish 架构

      • 有关每个 Babelfish 版本支持的功能列表,请参阅 各版本 Babelfish 支持的功能

      Aurora PostgreSQL 1.

      此版本的 Babelfish 版本的 BabelAurora ish 13.5 中提供。有关 Aurora PostgreSQL 13.5 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Babelfish 1.1 版本中解决了以下问题。有关 Babelfish 的更多信息,请参阅 使用 Babelfish fish fish for Aurora PostgreSQL

      Aurora PostgreSQL fish for Aurora PostgreSQL。

      可为空的列的唯一索引或唯一的索引或唯一约束。要使用此功能,请将更改 escape_hatch_unique_constraint 'ignore' 。有关更多信息,请参阅 管理 Babelfish 错误处理

    • 引用具有多个 DML 操作的触发器的转换表。

    • 具有前导点字符的标识符。

    • COLUMNPROPROPERTY 函数(限于CharMaxLen和AllowsNull属性)。

    • 系统定义的 @@ 变量:@ @CURSOR_ROWS、@ @LOCK_TIMEOUT、@ @MAX_CONNECTIONS、@ @MICROSOFTVERSION、@ @NESTLEVEL 和 @ @PROCID。

    • 内置函数:支持 CHOOSE、CONCAT_WS、CURSOR_STATUS、DATEFROMPARTS、DATETIMEFROMPARTS、ORIGINAL_LOGIN、SCHEMA_NAME(现已完全支持)、SESSION_USER、SQUARE 和 TRIGGER_NESTLEVEL(但仅不带参数)。

    • 系统存储过程:sp_colmanns_100、sp_colunns_manged、sp_cursor_list、sp_cursorcle、sp_cursorexecute、sp_cursoreft、sp_cursoreft、sp_cursorefera、sp_cursorefera、sp_curora、sp_curora、sp_cursorefera、sp_curora、sp_cursore、sp_cursorefere、sp_cursore、sp_cursore、sp_cursore、sp_cursorefera、_info、sp_datype_info_100、sp_destibe_curora、sp_desticbe_refish_undelane_srname、sp_pkey、sp_pestics、sp_ststics_100、sp_tables_100、sp_tables_tables_100、sp_tables_tables_100_tables、sp_unprea。

    • 有关每个 Babelfish 版本支持的功能列表,请参阅 各版本 Babelfish 支持的功能

    Aurora PostgreSQL 1.0

    此版本的 Babelfish 版本的 Babelfish 版本Aurora BPostgreSQL 13.4 中提供。有关 Aurora PostgreSQL 13.5 中的改进的更多信息,请参阅。 Amazon Aurora PostgreSQL 更新 Babelfish 1.0 版本中解决了以下问题。有关 Babelfish 的更多信息,请参阅 使用 Babelfish fish fish for Aurora PostgreSQL

    提供了适用于 Aurora PostgreSQL 的 Babelfish

    增强和增强和增强

    修复了由于不正确处理某些应用程序功能的用户输入而导致的 Babelfish 中的严重问题。这是可以追踪的 https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj

    提供了适用于 Aurora PostgreSQL 的 Babelfish