Babelfish 的数据库集群参数组设置 - Amazon Aurora

Babelfish 的数据库集群参数组设置

当您创建 Aurora PostgreSQL 数据库集群并选择 Turn on Babelfish(开启 Babelfish)时,如果您选择 Create new(新建),将自动为您创建数据库集群参数组。此数据库集群参数组基于为安装选择的 Aurora PostgreSQL 版本(例如 Aurora PostgreSQL 版本 14)的 Aurora PostgreSQL 数据库集群参数组。它使用以下一般模式命名:

custom-aurora-postgresql14-babelfish-compat-3

您可以在集群创建过程中更改以下设置,但其中一些设置一旦存储在自定义参数组中,就无法更改,因此请仔细选择:

  • 单个数据库或多个数据库

  • 原定设置排序规则区域设置

  • 排序规则名称

  • 数据库参数组

要使用现有 Aurora PostgreSQL 数据库集群版本 13 或更高版本的参数组,请编辑该组并将 babelfish_status 参数设置为 on。在创建 Aurora PostgreSQL 集群之前,请指定任何 Babelfish 选项。要了解更多信息,请参阅 使用参数组

以下参数控制 Babelfish 首选项。除非说明中另有规定,否则参数是可修改的。说明中包含原定设置值。要查看任何参数的允许值,请执行以下操作:

注意

将新数据库参数组与数据库实例关联时,修改后的静态和动态参数仅在数据库实例重新启动后得到应用。但是,如果在将数据库参数组与数据库实例关联之后修改数据库参数组中的动态参数,这些更改将立即得到应用,而无需重启。

  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 从导航窗格中,选择 Parameter groups(参数组)。

  3. 从列表中选择 default.aurora-postgresql14 数据库集群参数组。

  4. 在搜索字段中输入参数的名称。例如,在搜索字段中输入 babelfishpg_tsql.default_locale,以显示此参数及其原定设置值和允许的设置。

参数 描述 应用类型 是否可修改

babelfishpg_tds.tds_default_numeric_scale

如果引擎未指定一个,则设置要在 TDS 列元数据中发送的数字类型的原定设置扩展。(原定设置值:8)(允许的值:0–38)

dynamic

true

babelfishpg_tds.tds_default_numeric_precision

一个整数,用于设置要在 TDS 列元数据中发送的数字类型的原定设置精度(如果引擎未指定此精度)。(原定设置值:38)(允许的值:1–38)

dynamic

true

babelfishpg_tds.tds_default_packet_size

一个整数,设置用于连接 SQL Server 客户端的原定设置数据包大小。(原定设置值:4096)(允许的值:512–32767)

dynamic

true

babelfishpg_tds.tds_default_protocol_version

一个整数,设置用于连接客户端的原定设置 TDS 协议版本。(原定设置值:DEFAULT)(允许的值:TDSv7.0、TDSv7.1、TDSv7.1.1、TDSv7.2、TDSv7.3A、TDSv7.3B、TDSv7.4、DEFAULT)

dynamic

true

babelfishpg_tds.default_server_name

一个字符串,用于标识 Babelfish 服务器的原定设置名称。(原定设置值:Microsoft SQL Server)(允许的值:null)

dynamic

true

babelfishpg_tds.tds_debug_log_level

一个整数,用于在 TDS 中设置日志记录级别;0 表示关闭日志记录。(原定设置值:1)(允许的值:0、1、2、3)

dynamic

true

babelfishpg_tds.listen_addresses

一个字符串,用于设置要在其上监听 TDS 的主机名或 IP 地址。创建 Babelfish 数据库集群后将无法修改此参数。(原定设置值:*)(允许的值:null)

false

babelfishpg_tds.port

一个整数,指定在 SQL Server 语法中用于请求的 TCP 端口。(原定设置值:1433)(允许的值:1–65535)

static

true

babelfishpg_tds.tds_ssl_crypt

一个布尔值,用于为遍历 TDS 侦听器端口的数据打开 (0) 或关闭 (1) 加密。有关使用 SSL 进行客户端连接的详细信息,请参阅 Babelfish SSL 设置和客户端连接。(原定设置值:0)(允许的值:0、1)

dynamic

true

babelfishpg_tds.tds_ssl_max_protocol_version

一个字符串,指定要用于 TDS 会话的最高 SSL/TLS 协议版本。(原定设置值:“TLSv1.2”)(允许的值:“TLSv1”、“TLSv1.1”、“TLSv1.2”)

dynamic

true

babelfishpg_tds.tds_ssl_min_protocol_version

一个字符串,指定要用于 TDS 会话的最低 SSL/TLS 协议版本。(默认值:在 Aurora PostgreSQL 版本 16 中,为“TLSv1.2”;对于比 Aurora PostgreSQL 版本 16 更早的版本,为“TLSv1”)(允许的值:“TLSv1”、“TLSv1.1”、“TLSv1.2”)

dynamic

true

babelfishpg_tds.unix_socket_directories

一个字符串,用于标识 TDS 服务器 Unix 套接字目录。创建 Babelfish 数据库集群后将无法修改此参数。(原定设置值:/tmp)(允许的值:null)

false

babelfishpg_tds.unix_socket_group

一个字符串,用于标识 TDS 服务器 Unix 套接字组。创建 Babelfish 数据库集群后将无法修改此参数。(原定设置值:rdsdb)(允许的值:null)

false

babelfishpg_tsql.default_locale

一个字符串,指定用于 Babelfish 排序规则的原定设置区域设置。原定设置区域设置只是区域设置,不包括任何限定符。

在预置 Babelfish 数据库集群时设置此参数。预调配数据库集群后,将忽略对此参数的更改。(原定设置值:en_US)(允许的值:请参阅

static

true

babelfishpg_tsql.migration_mode

一个不可修改的列表,用于指定对单用户或多用户数据库的支持。在预置 Babelfish 数据库集群时设置此参数。预调配数据库集群后,无法修改此参数的值。(默认值:在 Aurora PostgreSQL 版本 16 中,为 multi-db;对于比 Aurora PostgreSQL 版本 16 更早的版本,为 single-db)(允许的值:single-db、multi-db、null)

static

true

babelfishpg_tsql.server_collation_name

一个字符串,指定用于服务器级别操作的排序规则的名称。在预置 Babelfish 数据库集群时设置此参数。预置数据库集群后,请勿修改此参数的值。(原定设置值:bbf_unicode_general_ci_as)(允许的值:请参阅

static

true

babelfishpg_tsql.version

一个字符串,用于设置 @@VERSION 变量的输出。请勿为 Aurora PostgreSQL 数据库集群修改此值。(原定设置值:null)(允许的值:原定设置值)

dynamic

true

rds.babelfish_status

一个字符串,用于设置 Babelfish 功能的状态。如果此参数设置为 datatypesonly,Babelfish 将关闭,但 SQL Server 数据类型仍可用。(原定设置值:off)(允许的值:on、off、datatypesonly)

static

true

unix_socket_permissions

设置 TDS 服务器 Unix 套接字权限的整数。创建 Babelfish 数据库集群后将无法修改此参数。(原定设置值:0700)(允许的值:0–511)

false

Babelfish SSL 设置和客户端连接

当客户端连接到 TDS 端口(原定设置为 1433)时,Babelfish 将在客户端握手过程中发送的安全套接字层 (SSL) 设置与 Babelfish SSL 参数设置 (tds_ssl_encrypt) 进行比较。然后,Babelfish 确定是否允许连接。如果允许连接,则强制执行加密行为与否具体取决于您的参数设置和客户端提供的加密支持。

下表显示了 Babelfish 对于每个组合的行为。

客户端 SSL 设置 Babelfish SSL 设置 是否允许连接? 返回给客户端的值

ENCRYPT_OFF

tds_ssl_encrypt=0

允许,登录数据包已加密

ENCRYPT_OFF

ENCRYPT_OFF

tds_ssl_encrypt=1

允许,整个连接都已加密

ENCRYPT_REQ

ENCRYPT_ON

tds_ssl_encrypt=0

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_ON

tds_ssl_encrypt=1

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_NOT_SUP

tds_ssl_encrypt=0

ENCRYPT_NOT_SUP

ENCRYPT_NOT_SUP

tds_ssl_encrypt=1

否,连接已关闭

ENCRYPT_REQ

ENCRYPT_REQ

tds_ssl_encrypt=0

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_REQ

tds_ssl_encrypt=1

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_CLIENT_CERT

tds_ssl_encrypt=0

否,连接已关闭

不支持

ENCRYPT_CLIENT_CERT

tds_ssl_encrypt=1

否,连接已关闭

不支持