開始使用 PostgreSQL 的聯合查詢 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

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

開始使用 PostgreSQL 的聯合查詢

若要建立聯合查詢,您可以遵循以下一般方法:

  1. 設定從您的 Amazon Redshift 叢集到 Amazon RDS 或 Aurora PostgreSQL DB 執行個體的連線。

    若要這樣做,請確定 RDS PostgreSQL 或 Aurora PostgreSQL DB 執行個體可以接受來自 Amazon Redshift 叢集的連線。我們建議您的 Amazon Redshift 叢集和 Amazon RDS 或 Aurora PostgreSQL 執行個體位於相同的虛擬私有雲端 (VPC) 和子網路群組中。如此一來,您就可以將 Amazon Redshift 叢集的安全群組新增至 RDS 或 Aurora PostgreSQL DB 執行個體的安全群組傳入規則。

    您也可以設定 VPC 對等,或其他允許 Amazon Redshift 與 RDS 或 Aurora PostgreSQL 執行個體建立連線的網路。如需 VPC 網路的相關資訊,請參閱以下內容。

    注意

    在某些情況下,您必須啟用增強型 VPC 路由:例如,如果您的 Amazon Redshift 叢集與 RDS 或 Aurora PostgreSQL 執行個體位於不同的 VPC 中,或者它們位於相同的 VPC 中,且您的路由需要這麼做。否則,當您執行聯合查詢時,您可能會收到逾時錯誤。

  2. 在 中AWS Secrets Manager為您的 RDS PostgreSQL 和 Aurora PostgreSQL 資料庫設定秘密。然後參考 AWS Identity and Access Management(IAM) 存取政策和角色中的秘密。如需詳細資訊,請參閱建立秘密和 IAM 角色來使用聯合查詢

    注意

    如果您的叢集使用增強型 VPC 路由,您可能需要為 AWS Secrets Manager 設定界面 VPC 端點。當您 Amazon Redshift 叢集的 VPC 和子網路無法存取公有AWS Secrets Manager端點時,這是必要的。當您使用 VPC 介面端點時,VPC 中的 Amazon Redshift 叢集與 之間的通訊AWS Secrets Manager會從 VPC 私下路由至端點介面。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的建立介面端點

  3. 套用您先前在 Amazon Redshift 叢集中建立的 IAM 角色。如需詳細資訊,請參閱建立秘密和 IAM 角色來使用聯合查詢

  4. 使用外部結構描述連接到 RDS PostgreSQL 和 Aurora PostgreSQL 資料庫。如需詳細資訊,請參閱CREATE EXTERNAL SCHEMA。如需如何使用聯合查詢的範例,請參閱使用聯合查詢的範例

  5. 執行參考 RDS PostgreSQL 和 Aurora PostgreSQL 資料庫之外部結構描述的 SQL 查詢。