为 Babelfish 配置数据库
当您为 Aurora PostgreSQL 数据库集群创建 Babelfish 时,可以通过两种方式之一使用参数组。您可以创建一个新的参数组,以在 Babelfish 运行的情况下配置集群。或者,您可以使用预先存在的 Amazon Aurora 参数组。
要使用现有参数组,请编辑该组并将 babelfish_status 参数设置为 on。在创建 Aurora PostgreSQL 集群之前,请指定任何 Babelfish 选项。有关修改参数组的信息,请参阅 使用参数组。
以下参数控制 Babelfish 首选项。
| 参数 | 类型 | 默认值 | 允许的值 | 描述 | 是否可修改? |
|---|---|---|---|---|---|
rds.babelfish_status |
字符串 |
off |
on、off、datatypesonly |
设置 Aurora PostgreSQL 的 Babelfish 的状态;功能。如果此参数设置为 |
是 |
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 数据库集群时设置此参数。预置数据库集群后,请勿修改此参数的值。 |
是 |
|
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 |
否,连接已关闭 |
不支持 |