Aurora DSQL에서 지원되지 않는 PostgreSQL 기능 - Amazon Aurora DSQL

Aurora DSQL에서 지원되지 않는 PostgreSQL 기능

Aurora DSQL은 PostgreSQL과 호환됩니다. 즉, Aurora DSQL은 ACID 트랜잭션, 보조 인덱스, 조인, 삽입 및 업데이트와 같은 핵심 관계형 기능을 지원합니다. 지원되는 SQL 기능에 대한 개요는 Supported SQL expressions을 참조하세요.

다음 섹션에는 현재 Aurora DSQL에서 지원되지 않는 PostgreSQL 기능이 나와 있습니다.

지원되지 않는 객체

Aurora DSQL에서 지원하지 않는 객체에는 다음이 포함됩니다.

  • 단일 Aurora DSQL 클러스터의 여러 데이터베이스

  • 임시 테이블

  • 트리거

  • 유형(부분 지원)

  • 테이블스페이스

  • SQL 이외의 언어로 작성된 함수

  • 시퀀스

  • 파티션

지원되지 않는 제약 조건

  • 외래 키

  • 예외 제약 조건

지원되지 않는 명령

  • ALTER SYSTEM

  • TRUNCATE

  • SAVEPOINT

  • VACUUM

    참고

    Aurora DSQL에는 vacuum이 필요하지 않습니다. 시스템은 수동 vacuum 명령 없이 통계를 유지하고 스토리지 최적화를 자동으로 관리합니다.

지원되지 않는 확장

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-langSQL 이외의 언어입니다.

CREATE

TEMPORARY

TABLES

CREATE

EXTENSION

CREATE

SEQUENCE

CREATE

MATERIALIZED

VIEW

CREATE

TABLESPACE

CREATE

TRIGGER

CREATE

TYPE

CREATE

DATABASE

추가 데이터베이스를 생성할 수 없습니다.

1 지정된 테이블의 열에 인덱스를 생성하려면 Aurora DSQL의 비동기 인덱스 섹션을 참조하세요.

PostgreSQL 호환성을 위한 Aurora DSQL 고려 사항

Aurora DSQL을 사용할 때는 다음 호환성 제한 사항을 고려하세요. 일반적인 고려 사항은 Amazon Aurora DSQL 사용에 대한 고려 사항 섹션을 참조하세요. 할당량 및 한도는 Amazon Aurora DSQL의 클러스터 할당량 및 데이터베이스 한도 섹션을 참조하세요.

  • Aurora DSQL은 postgres라는 단일 내장 데이터베이스를 사용합니다. 추가 데이터베이스를 생성하거나 postgres 데이터베이스를 삭제하거나 이름을 바꿀 수 없습니다.

  • postgres 데이터베이스는 UTF-8 문자 인코딩을 사용합니다. 인코딩은 변경할 수 없습니다.

  • 데이터베이스는 C 데이터 정렬만 사용합니다.

  • Aurora DSQL은 UTC를 시스템 시간대로 사용합니다. 파라미터 또는 SET TIMEZONE과 같은 SQL 문을 사용하여 기본 시간대를 수정할 수 없습니다.

  • 트랜잭션 격리 수준은 PostgreSQL Repeatable Read에서 고정됩니다.

  • 트랜잭션의 제약 조건은 다음과 같습니다.

    • 하나의 트랜잭션에서 DDL 및 DML 작업을 혼합할 수 없습니다.

    • 하나의 트랜잭션에는 DDL 문이 하나만 포함될 수 있습니다.

    • 하나의 트랜잭션은 보조 인덱스 수와 관계없이 최대 3,000개의 행을 수정할 수 있습니다.

    • 행 3,000개 한도는 모든 DML 문(INSERT, UPDATE, DELETE)에 적용됩니다.

  • 데이터베이스 연결은 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 Support에 문의하세요.

  • Aurora DSQL은 Python용 비동기 PostgreSQL 데이터베이스 드라이버인 asyncpg를 지원하지 않습니다.