PostgreSQL 데이터베이스를 소스로 사용할 경우의 알려진 제한사항은 다음과 같습니다.
pglogical
확장 프로그램은 PostgreSQL 12 이상에서 생성된 열의 복제를 지원하지 않습니다.테이블 구조 (DDL) 변경사항은 표준 DDL 명령어를 통해 복제되지 않으며, 복제에 사용되는
pglogical
확장자를 사용하여 실행된 명령어로만 복제됩니다.예를 들어
pglogical
는 일관된 지점에서 소스 데이터베이스와 복제본 모두에서 DDL을 실행할 수 있는 함수pglogical.replicate_ddl_command
를 제공합니다. 소스에서 이 명령어를 실행하는 사용자는 이미 복제본에 있어야 합니다.새 테이블의 데이터를 복제하려면
pglogical.replication_set_add_table
명령어를 사용하여 새 테이블을 기존 복제 세트에 추가해야 합니다.이전이 진행되는 동안 DDL 복제에 대해 자세히 알아보려면 이전 충실도 섹션을 참고하세요.
기본 키가 없는 테이블의 경우 Database Migration Service는 변경 데이터 캡처 (CDC) 단계 중에 초기 스냅샷과
INSERT
문의 마이그레이션을 지원합니다.UPDATE
및DELETE
문은 수동으로 마이그레이션해야 합니다.Database Migration Service는 구체화된 뷰의 데이터가 아닌 뷰 스키마만 마이그레이션합니다. 뷰를 채우려면
REFRESH MATERIALIZED VIEW view_name
명령어를 실행합니다.새 AlloyDB 대상의
SEQUENCE
상태 (예:last_value
)는 소스SEQUENCE
상태와 다를 수 있습니다.UNLOGGED
및TEMPORARY
테이블은 복제되지 않으며 복제할 수 없습니다.대규모 객체 데이터 유형은 지원되지 않습니다. 자세한 내용은 이전 충실도 섹션을 참고하세요.
- PostgreSQL용 AlloyDB에서 지원하는 확장 프로그램 및 프로시저 언어만 이전할 수 있습니다.
Database Migration Service는 복구 모드인 읽기 복제본에서의 마이그레이션을 지원하지 않습니다.
Database Migration Service는 AWS SCT 확장 프로그램 팩이 적용된 Amazon RDS 소스를 지원하지 않습니다.
- C로 작성된 사용자 정의 함수는 이전할 수 없습니다. 단, AlloyDB에서 지원하는 확장 프로그램을 설치할 때 PostgreSQL 데이터베이스에 설치되는 함수는 예외입니다.
소스 데이터베이스에 다른 확장 프로그램과 프로시저럴 언어가 있거나 버전이 지원되지 않는 경우 마이그레이션 작업을 테스트하거나 시작하면 실패합니다.
마이그레이션 작업이 시작된 후에 추가된 데이터베이스는 마이그레이션되지 않습니다.
- Database Migration Service를 사용하여 이전할 때는 특정 테이블이나 스키마를 선택할 수 없습니다.
Database Migration Service는 다음을 제외한 모든 테이블과 스키마를 마이그레이션합니다.
- 정보 스키마 (
information_schema
) pg
로 시작하는 모든 테이블(예:pg_catalog
)pg
로 시작하는 PostgreSQL 카탈로그의 전체 목록은 PostgreSQL 문서의 PostgreSQL 시스템 카탈로그를 참고하세요.- 사용자 및 사용자 역할에 관한 정보가 이전되지 않았습니다.
- 정보 스키마 (
암호화된 데이터베이스를 복호화하는 데 고객 관리 암호화 키가 필요한 경우, 그리고 Database Migration Service에서 키에 액세스할 수 없는 경우 데이터베이스를 마이그레이션할 수 없습니다.
하지만 고객 데이터가
pgcrypto
확장 프로그램으로 암호화된 경우 AlloyDB에서 확장 프로그램을 지원하므로 Database Migration Service로 데이터를 마이그레이션할 수 있습니다.Database Migration Service는 암호화된 Amazon Aurora 또는 Amazon RDS 데이터베이스에서 데이터를 마이그레이션하는 것도 지원합니다. 이러한 데이터베이스는 서비스에서 암호화 해제를 투명하게 처리하기 때문입니다. 자세한 내용은 Amazon Aurora 리소스 암호화 및 Amazon RDS 리소스 암호화를 참고하세요.
필요한 경우 DDL 변경사항을 적용할 수 있도록 마이그레이션 중에 대상 AlloyDB 데이터베이스를 쓸 수 있습니다. 마이그레이션 프로세스를 중단하거나 데이터 무결성에 영향을 줄 수 있는 데이터베이스 구성 또는 테이블 구조를 변경하지 않도록 주의하세요.
트리거 동작은 구성된 방식에 따라 다릅니다. 기본 동작은 트리거되지 않지만
ALTER EVENT TRIGGER
또는ALTER TABLE
문을 사용하여 구성되었고 트리거 상태가 replica 또는 always로 설정된 경우 복제 중에 복제본에서 트리거됩니다.보안 정의자가 있는 함수는 AlloyDB 기본에서
alloydbexternalsync
에 의해 생성됩니다. 사용자가 실행하면alloydbsuperuser
및alloydbreplica
역할을 가진alloydbexternalsync
의 권한으로 실행됩니다. 보안 정의자 함수의 사용을 일부 사용자로 제한하는 것이 좋습니다. 이렇게 하려면 사용자가 기본 PUBLIC 권한을 취소한 다음 실행 권한을 선택적으로 부여해야 합니다.
기존 대상 클러스터로의 이전 제한사항
- 기존 대상 클러스터는 비어 있거나 시스템 구성 데이터만 포함해야 합니다. 사용자 데이터 (예: 테이블)가 포함된 기존 대상 클러스터로 이전하는 것은 지원되지 않습니다.
- 대상 클러스터당 하나의 이전 작업만 구성할 수 있습니다.
- 보조 클러스터가 있는 클러스터로 마이그레이션하는 것은 지원되지 않습니다.
- 읽기 풀 인스턴스가 있는 클러스터로 이전하는 것은 지원됩니다.
PostgreSQL용 AlloyDB 클러스터 및 인스턴스에 관한 자세한 내용은 PostgreSQL용 AlloyDB 개요를 참고하세요.
할당량
- 어느 시점에든지 최대 2,000개의 연결 프로필과 1,000개의 마이그레이션 작업이 존재할 수 있습니다. 더 많은 항목을 위한 여유 공간을 확보하려면 마이그레이션 작업 (완료된 작업 포함) 및 연결 프로필을 삭제할 수 있습니다.