

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 使用 Amazon Redshift 存取聯合資料時的注意事項
<a name="federated-limitations"></a>

某些 Amazon Redshift 功能不支援存取聯合資料。您可以在下面找到相關的限制和考量。

以下是將聯合查詢與 Amazon Redshift 搭配使用時的限制及考量：
+ 聯合查詢支援讀取外部資料來源。您無法在外部資料來源中寫入或建立資料庫物件。
+ 在某些情況下，您可能會在與 Amazon Redshift 不同的 AWS 區域中存取 Amazon RDS 或 Aurora 資料庫叢集資料庫。在這些情況下，您通常會因為跨 AWS 區域傳輸資料而產生網路延遲和帳單費用。我們建議您使用 Aurora 全域資料庫，搭配 AWS 與 Amazon Redshift 叢集位於相同區域中的本機端點。Aurora 全域資料庫使用專用的基礎設施來進行跨越任意兩個 AWS 區域的儲存體類型複寫，其延遲一般低於 1 秒。
+ 請考慮存取 Amazon RDS 或 Aurora DB 叢集的成本。例如，使用此功能存取 Aurora DB 叢集時，Aurora DB 叢集會根據 IOPS 計費。
+ 聯合查詢不會啟用從 RDS 或 Aurora DB 叢集存取 Amazon Redshift 的功能。
+ 聯合查詢僅適用於同時使用 Amazon Redshift 和 Amazon RDS 或 Aurora 資料庫叢集 AWS 的區域。
+ 聯合查詢目前不支援 `ALTER SCHEMA`。若要變更結構描述，請使用 `DROP` 再使用 `CREATE EXTERNAL SCHEMA`。
+ 聯合查詢不會使用並行擴展。
+ 聯合查詢目前不支援透過 PostgreSQL 外部資料包裝程式存取。
+ 對 RDS MySQL 或 Aurora MySQL 的聯合查詢支援 READ COMMITTED 層級上的交易隔離。
+ 如果未指定，Amazon Redshift 會連線到連接埠 3306 上的 RDS for MySQL 或 Aurora MySQL。在為 MySQL 建立外部結構描述之前，請先確認 MySQL 連接埠號碼。
+ 如果未指定，Amazon Redshift 會連線到連接埠 5432 上的 RDS PostgreSQL 或 Aurora PostgreSQL。在為 PostgreSQL 建立外部結構描述之前，請先確認 PostgreSQL 連接埠號碼。
+ 當從 MySQL 擷取 TIMESTAMP 和 DATE 資料類型時，零值會視為 NULL。
+ 如果使用 Aurora DB 叢集資料庫讀取器端點，可能會發生「無效快照集」錯誤。這可以透過以下其中一個方法來避免：
  + 使用特定的 Aurora DB 叢集執行個體端點 (而非使用 Aurora DB 叢集的叢集端點)。此方法會針對 PostgreSQL 資料庫的結果使用 REPEATABLE READ 交易隔離。
  + 使用 Aurora DB 叢集讀取器端點，並將工作階段的 `pg_federation_repeatable_read` 設定為 false。此方法會針對 PostgreSQL 資料庫的結果使用 READ COMMITTED 交易隔離。如需 Aurora DB 叢集讀取器端點的相關資訊，請參閱《Amazon Aurora 使用者指南》**中的 [Aurora DB 叢集端點類型](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Overview.Endpoints.Types)。如需 `pg_federation_repeatable_read` 的資訊，請參閱「[pg\_federation\_repeatable\_read](r_pg_federation_repeatable_read.md)」。

以下是針對 PostgreSQL 資料庫使用聯合查詢時交易的考量：
+ 如果查詢由聯合資料表組成，則領導者節點會在遠端資料庫上啟動 READ ONLY REPEATABLE READ 交易。在 Amazon Redshift 交易期間會一直保留此交易。
+ 領導者節點透過呼叫 `pg_export_snapshot` 來建立遠端資料庫的快照，並對受影響的表進行讀取鎖定。
+ 運算節點會啟動交易，並使用在領導者節點上建立的快照，向遠端資料庫發出查詢。

## 支援的聯合資料庫版本
<a name="federated-limitations-engine-versions"></a>

Amazon Redshift 外部結構描述可參考外部 RDS PostgreSQL 或 Aurora PostgreSQL 中的資料庫。當其這樣做時，適用下列限制：
+ 建立參考 Aurora DB 叢集的外部結構描述時，Aurora PostgreSQL 資料庫的版本必須是 9.6 或更新版本。
+ 建立參考 Amazon RDS 的外部結構描述時，Amazon RDS PostgreSQL 資料庫的版本必須是 9.6 或更新版本。

Amazon Redshift 外部結構描述可參考外部 RDS MySQL 或 Aurora MySQL 中的資料庫。當其這樣做時，適用下列限制：
+ 建立參考 Aurora DB 叢集的外部結構描述時，Aurora MySQL 資料庫的版本必須是 5.6 或更新版本。
+ 建立參考 Amazon RDS 的外部結構描述時，RDS MySQL 資料庫的版本必須是 5.6 或更新版本。