本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
限制
下列限制適用於外部資料表。如需支援的引擎版本、執行個體類別和區域,請參閱 直接在 Aurora PostgreSQL 中查詢 Apache Iceberg 和 Parquet 資料。
資料修改
-
唯讀存取:這些外部資料表是唯讀的。不支援外部資料表的
DELETE、TRUNCATE、、INSERTUPDATE和COPY FROM操作。若要修改您的資料,請更新 Amazon S3 中的來源檔案 (適用於 Parquet),或透過 AWS Glue 或其他工具更新您的 Iceberg 資料表。 -
資料列鎖定沒有效果:您可以在查詢中包含
FOR UPDATE、FOR SHARE、FOR NO KEY UPDATE和FOR KEY SHARE鎖定子句,而查詢會執行並傳回資料列。這是標準 PostgreSQL 外部資料包裝函式行為,並非此功能特有。
資料格式和結構描述
-
不支援 Amazon S3 多區域存取點:外部資料表位置可以是
s3://URI、 AWS Glue Data Catalog ARN 或 Amazon S3 資料表 ARN。不支援 Amazon S3 多區域存取點 (MRAP) ARNs 和主機名稱做為外部資料表位置。 -
資料類型限制:某些 PostgreSQL 資料類型沒有支援的映射。
XML不支援JSONB、SERIAL、陣列類型、網路類型、範圍類型、幾何類型 和 。如需詳細資訊,請參閱資料格式和類型映射。 -
資料欄名稱長度限制:從 Parquet 或 Iceberg 中繼資料推斷的資料欄名稱不能超過 63 個字元 (PostgreSQL
NAMEDATALEN限制)。 -
不區分大小寫的資料欄名稱衝突:外部資料表不能包含名稱僅在 ASCII 字母大小寫 (例如
"Foo"和 ) 中不同的兩個資料欄"foo"。如果基礎資料包含這類資料欄,請在來源資料中重新命名它們。 -
定序限制:外部資料表資料欄定義僅支援
ICUC和 定序。外部資料表資料欄不支援 libc 定序 (例如en_US) 和自訂定序。您可以在查詢中的表達式層級使用 libc 定序,但這可能會降低下推最佳化。
查詢執行
-
每個查詢的單一區域資料存取:您無法從單一查詢中的多個 AWS 區域存取資料。查詢中存取的所有 Amazon S3 資料都必須位於相同的區域。
-
無法存取的系統欄:Aurora PostgreSQL 不支援外部資料表上的 PostgreSQL 系統欄 (
ctid、xmin、cmax、、xmaxcmin和tableoid)。參考一個 會傳回錯誤[Aurora Analytics] system column is not supported。
基礎設施
-
快取無法在重新啟動期間持續:資料庫執行個體重新啟動或容錯移轉時,會清除磁碟上讀取快取。後續查詢會從 Amazon S3 重新擷取資料。
-
無伺服器擴展考量:使用 Aurora Serverless v2 部署,同時執行多個資源密集型分析查詢可能會超過資料庫執行個體可以擴展的速率。