

 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/)。

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

# 開始使用聯合查詢至 PostgreSQL 搭配 AWS CloudFormation
<a name="getting-started-federated-CF"></a>

您可以使用聯合查詢在操作資料庫之間進行查詢。在此入門指南中，您可以使用範例 AWS CloudFormation 堆疊來啟用從 Amazon Redshift 叢集到 Aurora PostgreSQL 無伺服器資料庫的聯合查詢，以自動化設定。您可以快速啟動並執行，而不必執行 SQL 陳述式來佈建資源。

堆疊會建立外部結構描述，並參考您的 Aurora PostgreSQL 執行個體，其中包含具有範例資料的資料表。您可以從 Redshift 叢集中查詢外部結構描述中的資料表。

如果您想要透過執行 SQL 陳述式來設定外部結構描述，而不使用 CloudFormation 來開始使用聯合查詢，請參閱 [開始使用 PostgreSQL 的聯合查詢](getting-started-federated.md)。

在針對聯合查詢執行 CloudFormation 堆疊之前，請確定您具有 Amazon Aurora PostgreSQL 相容版無伺服器資料庫，且已開啟資料 API。您可以在資料庫屬性中開啟資料 API。如果找不到設定，請再次確認您執行的是 Aurora PostgreSQL 的無伺服器執行個體。此外，請確定您有一個使用 RG 或 RA3 節點的 Amazon Redshift 叢集。我們建議將 Redshift 叢集和無伺服器 Aurora PostgreSQL 執行個體放在相同的虛擬私有雲端 (VPC) 和子網路群組中。如此一來，您就可以將 Amazon Redshift 叢集的安全群組新增至 Aurora PostgreSQL 資料庫執行個體的安全群組傳入規則。

如需開始設定 Amazon Redshift 叢集的相關資訊，請參閱[開始使用 Amazon Redshift 佈建資料倉儲](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html)。如需使用 CloudFormation 設定資源的詳細資訊，請參閱[什麼是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)。如需設定 Aurora DB 叢集資料庫的詳細資訊，請參閱[建立 Aurora DB 叢集 Serverless v1 DB 叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.create.html)。

## 為 Redshift 聯合查詢啟動 CloudFormation 堆疊
<a name="getting-started-federated-CF-stack"></a>

使用下列程序啟動適用於 Amazon Redshift 的 CloudFormation 堆疊，以啟用聯合查詢。在執行此操作之前，請確定您已設定 Amazon Redshift 叢集和無伺服器 Aurora PostgreSQL 執行個體。

**為聯合查詢啟動 CloudFormation 堆疊**

1. 按一下此處的[https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=FederatedQuery&templateURL=https://s3.amazonaws.com/redshift-downloads/docs-downloads/FederatedQuery.yml](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=FederatedQuery&templateURL=https://s3.amazonaws.com/redshift-downloads/docs-downloads/FederatedQuery.yml)以啟動 AWS 管理主控台中的 CloudFormation 服務。

   如果出現系統提示，請登入。

   堆疊建立程序會隨即啟動，並參考儲存在 Amazon S3 中的 CloudFormation 範本檔案。CloudFormation *範本*是 JSON 格式的文字檔案，可宣告構成堆疊 AWS 的資源。

1. 選擇**下一步**以輸入堆疊詳細資料。

1. 在**參數**底下，為叢集輸入下列內容：
   + Amazon Redshift 叢集名稱，例如 **ra3-consumer-cluster**
   + 特定的資料庫名稱，例如 **dev**
   + 資料庫使用者的名稱，例如 **consumeruser**

   同時輸入 Aurora DB 叢集資料庫的參數，包括使用者、資料庫名稱、連接埠和端點。我們建議您使用測試叢集和測試無伺服器資料庫，因為堆疊會建立數個資料庫物件。

   選擇**下一步**。

   堆疊選項隨即出現。

1. 選擇**下一步**以接受預設設定。

1. 在**功能**下，選擇**我確認 AWS CloudFormation 可能會建立 IAM 資源。**

1. 選擇**建立堆疊**。

選擇**建立堆疊**。CloudFormation 會佈建範本資源 (大約需要 10 分鐘)，並建立外部結構描述。

如果建立堆疊時發生錯誤，請執行下列動作：
+ 檢視 CloudFormation **事件**索引標籤，以取得有助於您解決錯誤的資訊。
+ 請確定您輸入正確的 Amazon Redshift 叢集名稱、資料庫名稱和資料庫使用者名稱。同時檢查 Aurora PostgreSQL 執行個體的參數。
+ 請確定您的叢集具有 RG 或 RA3 節點。
+ 請確定您的資料庫和 Redshift 叢集位於相同的子網路和安全群組中。

## 從外部結構描述查詢資料
<a name="getting-started-federated-CF-stack-query"></a>

若要使用下列程序，請確定您在所述叢集和資料庫上有執行查詢所需的許可。

**使用聯合查詢來查詢外部資料庫**

1. 使用用戶端工具 (例如 Redshift 查詢編輯器) 連線至您在建立堆疊時輸入的 Redshift 資料庫。

1. 查詢堆疊所建立的外部結構描述。

   ```
   select * from svv_external_schemas;
   ```

   [SVV\_EXTERNAL\_SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md) 檢視會傳回可用外部結構描述的相關資訊。在此情況下，會傳回堆疊所建立的外部結構描述 (`myfederated_schema`)。如果您有任何設定，可能還會傳回其他外部結構描述。檢視也會傳回結構描述的關聯資料庫。資料庫是您在建立堆疊時輸入的 Aurora DB 叢集資料庫。堆疊會將資料表新增到 Aurora DB 叢集資料庫 (稱為 `category`) 及另一個資料表 (稱為 `sales`)。

1. 在參考您 Aurora PostgreSQL 資料庫的外部結構描述中的資料表上執行 SQL 查詢。查詢如下列範例所示。

   ```
   SELECT count(*) FROM myfederated_schema.category;
   ```

   `category` 資料表會傳回幾個記錄。您也可以從 `sales` 資料表中傳回記錄。

   ```
   SELECT count(*) FROM myfederated_schema.sales;
   ```

   如需更多範例，請參閱[使用聯合查詢的範例](federated_query_example.md)。