为 Babelfish 配置数据库 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为 Babelfish 配置数据库

当您为 Aurora PostgreSQL 数据库集群创建 Babelfish 时,可以通过两种方式之一使用参数组。您可以创建一个新的参数组,以在 Babelfish 运行的情况下配置集群。或者,您可以使用预先存在的 Amazon Aurora 参数组。

要使用现有参数组,请编辑该组并将 babelfish_status 参数设置为 on。在创建 Aurora PostgreSQL 集群之前,请指定任何 Babelfish 选项。有关修改参数组的信息,请参阅 使用数据库参数组和数据库集群参数组

以下参数控制 Babelfish 首选项。

参数 类型 默认值 允许的值 描述 是否可修改?

rds.babelfish_status

字符串

off

on、off、datatypesonly

设置 Aurora PostgreSQL 的 Babelfish 的状态;功能。如果此参数设置为 datatypesonly,Babelfish 将关闭,但 SQL Server 数据类型仍可用。

babelfishpg_tds.default_server_name

字符串

Microsoft SQL Server

null

Babelfish 服务器的原定设置名称。

babelfishpg_tds.port

整数

1433

1-65535

在 SQL Server 语法中设置用于请求的 TCP 端口。

babelfishpg_tds.tds_default_protocol_version

整数

0

TDSv7.0、TDSv7.1、TDSv7.1.1、TDSv7.2、TDSv7.3A、TDSv7.3B、TDSv7.4、DEFAULT

设置用于连接客户端的原定设置 TDS 协议版本。

babelfishpg_tds.tds_ssl_crypt

Boolean

0

0/1

为遍历 TDS 侦听器端口的数据打开 (0) 或关闭 (1) 加密。有关使用 SSL 进行客户端连接的详细信息,请参阅 Babelfish 如何解释 SSL 设置

babelfishpg_tds.tds_ssl_max_protocol_version

字符串

“TLSv1.2”

“TLSv1、TLSv1.1、TLSv1.2”

设置 TDS 会话使用的最低 SSL/TLS 协议版本。

babelfishpg_tds.tds_ssl_min_protocol_version

字符串

“TLSv1”

“TLSv1、TLSv1.1、TLSv1.2”

设置 TDS 会话使用的最低 SSL/TLS 协议版本。

babelfishpg_tds.tds_default_packet_size

整数

4096

512-32767

设置用于连接 SQL Server 客户端的原定设置数据包大小。

babelfishpg_tds.tds_default_numeric_scale

整数

8

0-38

如果引擎未指定一个,则设置要在 TDS 列元数据中发送的数字类型的原定设置扩展。

babelfishpg_tds.tds_default_numeric_precision

整数

38

1-38

如果引擎未指定一个,则设置要在 TDS 列元数据中发送的数字类型的原定设置精度。

babelfishpg_tsql.version

字符串

null

默认值

设置 @@VERSION 变量的输出。

请勿为 Aurora PostgreSQL 数据库集群修改此值。

babelfishpg_tsql.default_locale

字符串

zh_CN

已允许

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

在预置 Babelfish 数据库集群时设置此参数。预置数据库集群后,将忽略对此参数的修改。

babelfishpg_tsql.migration_mode

List

single-db

single-db、multi-db、null

定义是否支持多个用户数据库。

在预置 Babelfish 数据库集群时设置此参数。预置数据库集群后,请勿修改此参数的值。

babelfishpg_tsql.server_collation_name

字符串

bbf_unicode_general_ci_as

Babelfish 排序规则支持

用于服务器级别操作的排序规则名称。在预置时设置一次。

在预置 Babelfish 数据库集群时设置此参数。预置数据库集群后,请勿修改此参数的值。

babelfishpg_tds.listen_addresses

字符串

*

null

设置要在其上监听 TDS 的主机名或 IP 地址。

babelfishpg_tds.enable_tds_debug_log_level

整数

“1”

“0、1、2、3”

在 TDS 中设置日志记录级别;0 表示关闭日志记录。

babelfishpg_tds.unix_socket_directories

字符串

/tmp

NULL

TDS 服务器 Unix 套接字目录。

babelfishpg_tds.unix_socket_group

字符串

rdsdb

NULL

TDS 服务器 Unix 套接字组。

unix_socket_permissions

整数

0700

0 - 511

TDS 服务器 Unix 套接字权限。

Babelfish 如何解释 SSL 设置

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

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

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

ENCRYPT_OFF

tds_ssl_encrypt=false

允许,登录数据包已加密

ENCRYPT_OFF

ENCRYPT_OFF

tds_ssl_encrypt=true

允许,整个连接都已加密

ENCRYPT_REQ

ENCRYPT_ON

tds_ssl_encrypt=false

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_ON

tds_ssl_encrypt=true

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_NOT_SUP

tds_ssl_encrypt=false

ENCRYPT_NOT_SUP

ENCRYPT_NOT_SUP

tds_ssl_encrypt=true

否,连接已关闭

ENCRYPT_REQ

ENCRYPT_REQ

tds_ssl_encrypt=false

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_REQ

tds_ssl_encrypt=true

允许,整个连接都已加密

ENCRYPT_ON

ENCRYPT_CLIENT_CERT

tds_ssl_encrypt=false

否,连接已关闭

不支持

ENCRYPT_CLIENT_CERT

tds_ssl_encrypt=true

否,连接已关闭

不支持