Aurora DSQL 不支援的 PostgreSQL 功能 - Amazon Aurora DSQL

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

Aurora DSQL 不支援的 PostgreSQL 功能

Aurora DSQL 與 PostgreSQL 相容。這表示 Aurora DSQL 支援核心關聯式功能,例如 ACID 交易、次要索引、聯結、插入和更新。如需支援的 SQL 功能概觀,請參閱支援的 SQL 運算式

下列各節重點說明 Aurora DSQL 目前不支援哪些 PostgreSQL 功能。

不支援的物件

Aurora DSQL 不支援的物件包括下列項目:

  • 單一 Aurora DSQL 叢集上的多個資料庫

  • 暫時資料表

  • 觸發

  • 類型 (部分支援)

  • 資料表空間

  • 以非 SQL 語言撰寫的函數

  • 序列

  • 分區

不支援的限制條件

  • 外部索引鍵

  • 排除限制

不支援的命令

  • ALTER SYSTEM

  • TRUNCATE

  • SAVEPOINT

  • VACUUM

    注意

    Aurora DSQL 不需要清空。系統會維護統計資料並自動進行儲存最佳化管理,無需手動清空命令。

不支援的擴充功能

Aurora DSQL 不支援 PostgreSQL 擴充功能。下表顯示不支援的擴充功能:

  • PL/pgSQL

  • PostGIS

  • PGVector

  • PGAudit

  • Postgres_FDW

  • PGCron

  • pg_stat_statements

不支援的 SQL 運算式

下表說明 Aurora DSQL 不支援的子句。

類別 主要子句 不支援的子句

CREATE

INDEX ASYNC

ASC | DESC

CREATE

INDEX 1

TRUNCATE

ALTER

SYSTEM

系統會封鎖所有 ALTER SYSTEM 命令。

CREATE

TABLE

COLLATE, AS SELECT, INHERITS, PARTITION

CREATE

FUNCTION

LANGUAGE non-sql-lang,其中 non-sql-lang 是非 SQL 語言

CREATE

TEMPORARY

TABLES

CREATE

EXTENSION

CREATE

SEQUENCE

CREATE

MATERIALIZED

VIEW

CREATE

TABLESPACE

CREATE

TRIGGER

CREATE

TYPE

CREATE

DATABASE

您無法建立其他資料庫。

1 若要在指定資料表的資料欄上建立索引,請參閱 Aurora DSQL 的非同步索引

Aurora DSQL 的 PostgreSQL 相容性考量

使用 Aurora DSQL 時,請考慮下列相容性限制。如需一般考量,請參閱 使用 Amazon Aurora DSQL 的考量事項。如需了解配額和限制,請參閱 Amazon Aurora DSQL 中的叢集配額與資料庫限制

  • Aurora DSQL 使用名為 postgres 的單一內建資料庫。您無法建立其他資料庫,也無法重新命名或捨棄 postgres 資料庫。

  • postgres 資料庫使用 UTF-8 字元編碼。您無法變更伺服器編碼。

  • 資料庫只會使用 C 定序。

  • Aurora DSQL 以 UTC 作為系統時區。Postgres 會將所有時區感知日期和時間儲存在 UTC 內部。您可以設定TimeZone組態參數來轉換用戶端的顯示方式,並做為伺服器將用來在內部轉換為 UTC 的用戶端輸入預設值。

  • 交易隔離層級固定為 PostgreSQL Repeatable Read

  • 交易有下列限制:

    • 交易無法混合 DDL 和 DML 操作

    • 交易只能包含 1 個 DDL 陳述式

    • 無論次要索引的數量為何,交易最多可以修改 3,000 個資料列

    • 3,000 個資料列的限制適用於所有 DML 陳述式 (INSERTUPDATEDELETE)

  • 資料庫連線會在 1 小時後逾時。

  • Aurora DSQL 目前不允許您執行 GRANT [permission] ON DATABASE。如果您嘗試執行該陳述式,Aurora DSQL 會傳回錯誤訊息 ERROR: unsupported object type in GRANT

  • Aurora DSQL 不允許非管理員使用者角色執行 CREATE SCHEMA 命令。您無法執行 GRANT [permission] on DATABASE 命令並授予資料庫的 CREATE 許可。如果非管理員使用者角色嘗試建立結構描述,Aurora DSQL 會傳回錯誤訊息 ERROR: permission denied for database postgres

  • 非管理員使用者無法在公有結構描述中建立物件。只有管理員使用者可以在公有結構描述中建立物件。管理員使用者角色有權將這些物件的讀取、寫入和修改存取權授予非管理員使用者,但無法授予公有結構描述本身的 CREATE 許可。非管理員使用者必須以使用者建立的不同結構描述來建立物件。

  • Aurora DSQL 不支援命令 ALTER ROLE [] CONNECTION LIMIT。如果您需要提高連線限制,請聯絡 AWS 支援。

  • Aurora DSQL 不支援 asyncpg (適用於 Python 的非同步 PostgreSQL 資料庫驅動程式)。