

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Babelfish 的資料庫叢集參數群組設定
<a name="babelfish-configuration"></a>

當您建立 Aurora PostgreSQL 資料庫叢集並選擇 **Turn on Babelfish** (開啟 Babelfish) 時，如果您選擇 **Create new** (新建)，則會自動為您建立資料庫叢集參數群組。此資料庫叢集參數群組以針對為此安裝所選 Aurora PostgreSQL 版本 (例如 Aurora PostgreSQL 第 14 版) 的 Aurora PostgreSQL 資料庫叢集參數群組為基礎。它使用下列一般模式命名：

```
custom-aurora-postgresql14-babelfish-compat-3
```

您可以在叢集建立過程中變更以下設定，但其中一些設定一旦儲存在自訂參數群組後就無法變更，因此請謹慎選擇：
+ 單一資料庫或多個資料庫
+ 預設定序地區設定
+ 定序名稱
+ DB parameter group (資料庫參數群組)

若要使用現有的 Aurora PostgreSQL 資料庫叢集第 13 版或更新版本的參數群組，請編輯該資料庫，並將 `babelfish_status` 參數設定為 `on`。請在建立 Aurora PostgreSQL 叢集之前指定任何 Babelfish 選項。如需詳細資訊，請參閱 [Amazon Aurora 的參數群組](USER_WorkingWithParamGroups.md)。

下列參數控制 Babelfish 偏好設定。除非在「說明」中另有說明，否則參數是可修改的。預設值包含在描述中。若要查看任何參數的允許值，請執行以下操作：

**注意**  
當您建立新資料庫參數群組與資料庫執行個體的關聯時，只有在資料庫執行個體重新開機之後，才會套用修改過的靜態參數和動態參數。不過，如果您在將資料庫參數群組與資料庫執行個體建立關聯之後修改該群組中的動態參數，則會立即套用這些變更，而不需重新開機。

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 從導覽功能表中，選擇 **Parameter groups** (參數群組)。

1. 從清單中選擇 `default.aurora-postgresql14` 資料庫叢集參數群組。

1. 在搜尋欄位中輸入參數的名稱。例如，在搜尋欄位中輸入 `babelfishpg_tsql.default_locale` 以顯示此參數，以及其預設值和允許的設定。
**注意**  
只有在那些區域中開啟下列參數時，Babelfish for Aurora PostgreSQL 全域資料庫才會在次要區域中運作。


| 參數 | Description | 套用類型 | 是可修改的 | 
| --- | --- | --- | --- | 
| babelfishpg\$1tsql.apg\$1enable\$1correlated\$1scalar\$1transform | 讓規劃器能夠轉換 Babelfish 中的相關純量子查詢。(預設值：開啟) (允許值：開啟、關閉)  | 動態 | true | 
| babelfishpg\$1tsql.apg\$1enable\$1subquery\$1cache | 啟用 Babelfish 中相關純量子查詢的快取使用。(預設值：開啟) (允許值：開啟、關閉)  | 動態 | true | 
| babelfishpg\$1tds.tds\$1default\$1numeric\$1scale | 針對要在 TDS 資料欄中繼資料中傳送的數值類型，設定預設小數位數 (如果引擎未指定)。(預設值：8) (允許值：0–38)  | 動態 | true | 
| babelfishpg\$1tds.tds\$1default\$1numeric\$1precision | 此整數會針對要在 TDS 資料欄中繼資料中傳送的數值類型，設定預設精確度 (如果引擎未指定)。(預設值：38) (允許值：1–38) | 動態 | true | 
| babelfishpg\$1tds.tds\$1default\$1packet\$1size | 此整數設定用於連線 SQL Server 用戶端的預設封包大小。(預設值：4096) (允許值：512–32767) | 動態 | true | 
| babelfishpg\$1tds.tds\$1default\$1protocol\$1version | 此整數可設定用於連線用戶端的預設 TDS 通訊協定版本。(預設值：DEFAULT) (允許的值：TDSv7.0、TDSv7.1、TDSv7.1.1、TDSv7.2、TDSv7.3A、TDSv7.3B、TDSv7.4、DEFAULT) | 動態 | true | 
| babelfishpg\$1tds.default\$1server\$1name | 此字串可識別 Babelfish 伺服器的預設名稱。(預設值：Microsoft SQL Server) (允許值：null) | 動態 | true | 
| babelfishpg\$1tds.tds\$1debug\$1log\$1level | 此整數設定 TDS 中的記錄層級；0 會關閉日誌。(預設值：1) (允許值：0、1、2、3) | 動態 | true | 
| babelfishpg\$1tds.listen\$1addresses | 此字串可設定用來接聽 TDS 的主機名稱或一個或多個 IP 地址。Babelfish 資料庫叢集建立之後，便無法變更此參數。(預設值：\$1 ) (允許值：null)  | – | false | 
| babelfishpg\$1tds.port | 此整數在 SQL Server 語法中指定用於請求的 TCP 連接埠。(預設值：1433) (允許值：1–65535) | 靜態 | true | 
| babelfishpg\$1tds.tds\$1ssl\$1encrypt | 此布林值會針對周遊 TDS 接聽程式連接埠的資料開啟 (0) 或關閉 (1) 加密。如需有關使用 SSL 進行用戶端連線的詳細資訊，請參閱[Babelfish SSL 設定與用戶端連線](#babelfish-ssl)。(預設值：0) (允許值：0、1) | 動態 | true | 
| babelfishpg\$1tds.tds\$1ssl\$1max\$1protocol\$1version | 此字串指定用於 TDS 工作階段的最高 SSL/TLS 通訊協定版本。(預設值：'TLSv1.2') (允許值：'TLSv1'、'TLSv1.1'、'TLSv1.2') | 動態 | true | 
| babelfishpg\$1tds.tds\$1ssl\$1min\$1protocol\$1version | 此字串指定用於 TDS 工作階段的最低 SSL/TLS 通訊協定版本。(預設值：Aurora PostgreSQL 第 16 版中的 'TLSv1.2'，'TLSv1' 適用於 Aurora PostgreSQL 第 16 版之前的版本) (允許值：'TLSv1'、'TLSv1.1'、'TLSv1.2') | 動態 | true | 
| babelfishpg\$1tds.unix\$1socket\$1directories | 此字串識別 TDS 伺服器 Unix 通訊端目錄。Babelfish 資料庫叢集建立之後，便無法變更此參數。(預設值：/tmp) (允許值：null) | – | false | 
| babelfishpg\$1tds.unix\$1socket\$1group | 此字串識別 TDS 伺服器 Unix 通訊端群組。Babelfish 資料庫叢集建立之後，便無法變更此參數。(預設值：rdsdb) (允許值：null) | – | false | 
| babelfishpg\$1tsql.default\$1locale |  此字串指定用於 Babelfish 定序的預設地區設定。預設地區設定只是地區設定，不含任何限定詞。 請在佈建 Babelfish 資料庫叢集時設定此參數。佈建資料庫叢集之後，會忽略對此參數的變更。(預設值：en\$1US) (允許值：請參閱[資料表](babelfish-collations.md))   | 靜態 | true | 
| babelfishpg\$1tsql.migration\$1mode |  此不可修改的清單指定支援單個或多個使用者資料庫。請在佈建 Babelfish 資料庫叢集時設定此參數。佈建資料庫叢集之後，您無法修改此參數的值。(預設值：Aurora PostgreSQL 第 16 版的 multi-db，single-db 適用於 Aurora PostgreSQL 第 16 版之前的版本) (允許值：Single-db、multi-db、null)  | 靜態 | true | 
| babelfishpg\$1tsql.server\$1collation\$1name |  此字串指定用於伺服器層級動作的定序名稱。請在佈建 Babelfish 資料庫叢集時設定此參數。佈建資料庫叢集之後，請勿修改此參數的值。(預設值：bbf\$1unicode\$1general\$1ci\$1as) (允許值：請參閱[資料表](babelfish-collations.md))  | 靜態 | true | 
| babelfishpg\$1tsql.version |  此字串設定 @@VERSION 變數的輸出。請勿對 Aurora PostgreSQL 資料庫叢集修改此值。(預設值：null) (允許值：default)  | 動態 | true | 
| rds.babelfish\$1status | 此字串設定 Babelfish 功能的狀態。此參數設定為 `datatypesonly` 時，Babelfish 會停用，但 SQL Server 資料類型仍然可用。(預設值：off) (允許值：on、off、datatypesonly) | 靜態 | true | 
| unix\$1socket\$1permissions | 此整數設定 TDS 伺服器 Unix 通訊端許可。Babelfish 資料庫叢集建立之後，便無法變更此參數。(預設值：0700) (允許值：0–511) | – | false | 

## Babelfish SSL 設定與用戶端連線
<a name="babelfish-ssl"></a>

若需要連至 Babelfish for Aurora PostgreSQL 資料庫叢集的 SSL/TLS 連線，請使用 `rds.force_ssl` 參數。
+ 若需要 SSL/TLS 連線，請將 `rds.force_ssl` 參數值設為 1 (開啟)。
+ 若要關閉所需的 SSL/TLS 連線，請將 `rds.force_ssl` 參數值設為 0 (關閉)。

此參數的預設值取決於 Aurora PostgreSQL 版本：
+ 對於 Aurora PostgreSQL 第 17 版及更新版本：預設值為 1 (開啟)。
+ 對於 Aurora PostgreSQL 第 16 版及更舊版本：預設值為 0 (關閉)。

**注意**  
當您從 Aurora PostgreSQL 第 16 版或更舊版本執行升級至第 17 版或更新版本的主要版本升級時，參數的預設值會從 0 (關閉) 變更為 1 (開啟)。此變更可能會導致未針對 SSL 設定的應用程式連線能力失敗。您可以將此參數設定為 0 (關閉)，以還原至先前的預設行為。

如需驅動程式特定的詳細資訊，請參閱[連線至 Babelfish 資料庫叢集](babelfish-connect.md)。

當用戶端連線至 TDS 連接埠 (預設 `1433`) 時，Babelfish 會比較用戶端交握期間傳送的 Secure Sockets Layer (SSL) 設定與 Babelfish SSL 參數設定 (`tds_ssl_encrypt`)。然後，Babelfish 會決定是否允許連線。如果允許連線，則強制或不強制執行加密行為，視您的參數設定和用戶端提供的加密支援而定。

下表顯示 Babelfish 對每個組合的反應。


| 用戶端 SSL 設定 | Babelfish SSL 設定 | rds.force\$1ssl | 允許連線？ | 傳回給用戶端的值 | 
| --- | --- | --- | --- | --- | 
| ENCRYPT\$1ON | 任何 | 任何 | 允許，加密整個連線 | ENCRYPT\$1ON | 
| ENCRYPT\$1OFF | tds\$1ssl\$1encrypt=1 | 任何 | 允許，加密整個連線 | ENCRYPT\$1REQ | 
| ENCRYPT\$1OFF | tds\$1ssl\$1encrypt=0 | rds.force\$1ssl=0 | 允許，加密登入封包 | ENCRYPT\$1OFF | 
| ENCRYPT\$1OFF | tds\$1ssl\$1encrypt=0 | rds.force\$1ssl=1 | 否，關閉連線 | ENCRYPT\$1OFF | 
| ENCRYPT\$1NOT\$1SUP | tds\$1ssl\$1encrypt=0 | rds.force\$1ssl=0 | 是 | ENCRYPT\$1NOT\$1SUP | 
| ENCRYPT\$1NOT\$1SUP | tds\$1ssl\$1encrypt=1 | 任何 | 否，關閉連線  | ENCRYPT\$1REQ | 
| ENCRYPT\$1NOT\$1SUP | tds\$1ssl\$1encrypt=0 | rds.force\$1ssl=1 | 否，關閉連線 | ENCRYPT\$1NOT\$1SUP | 
| ENCRYPT\$1CLIENT\$1CERT | 任何 | 任何 | 否，關閉連線 | 不支援 | 