Amazon Relational Database Service(Amazon RDS) for PostgreSQL에서 복원 작업에 실패했거나 문제가 발생했습니다. 자동 스냅샷 복원, 시점 복구(PITR) 중에 또는 PostgreSQL 기본 도구 사용 시 발생하는 오류를 해결하려고 합니다.
해결 방법
Amazon RDS for PostgreSQL은 다음과 같은 복원 방법을 지원합니다.
- 자동 또는 수동 데이터베이스 스냅샷
- 백업 보존 기간 내의 PITR
- 논리적 백업용 pg_dump 및 pg_restore와 같은 PostgreSQL 기본 도구
다음 섹션을 사용하여 해당 유형의 복원 문제를 해결하십시오.
pg_restore 버전 호환성 확인
pg_restore 유틸리티 버전이 백업을 만드는 데 사용한 버전과 호환되지 않는 경우 다음 오류 메시지 중 하나를 받을 수 있습니다.
"Unsupported version (1.15) in file header"
"Could not find header for file 'toc.dat' in tar archive"
PostgreSQL 유틸리티에서 pg_dump 백업 만들기 도구와 pg_restore 복원 도구 간의 버전 정렬이 필요한 경우 오류 메시지 중 하나를 받습니다.
이 문제를 해결하려면 pg_restore 버전을 확인하십시오. PostgreSQL 클라이언트 유틸리티가 설치된 운영 체제(OS)에서 다음 명령을 실행합니다.
pg_restore --version
pg_restore 버전이 백업을 만드는 데 사용된 pg_dump 버전과 같거나 최신인지 확인하십시오. 필요한 경우 pg_restore 유틸리티를 백업 버전과 같거나 그 이상으로 업그레이드합니다. 자세한 내용은 PostgreSQL pg_dump and pg_restore 유틸리티를 참조하십시오.
백업 형식 불일치 해결
pg_restore를 일반 텍스트 SQL 백업 파일과 함께 사용하는 경우 다음과 같은 오류 메시지를 받을 수 있습니다.
"Input file appears to be a text format dump. Please use psql"
이 문제를 해결하려면 pg_restore 대신 psql 유틸리티를 사용하여 백업 파일을 가져오십시오. 자세한 내용은 Amazon RDS에서 PostgreSQL로 데이터 가져오기를 참조하십시오.
참고: 향후 백업을 만들 때 이 문제를 방지하려면 백업 만들기 시 올바른 형식을 지정하십시오. 사용자 지정 형식에 pg_dump를 -Fc와 함께 사용하고 pg_restore를 사용하여 복원하려는 경우 tar 형식 옵션에 -Ft를 사용하십시오.
복원 성능 모니터링
스냅샷 복원 또는 PITR 작업 중에 데이터베이스 인스턴스는 지연 로딩을 사용합니다. 그러면 데이터 블록이 액세스 시 온디맨드로 로드됩니다. 자주 액세스하는 데이터가 캐시될 때까지 인스턴스의 성능이 느려질 수 있습니다.
복원 진행 상황을 모니터링하려면 다음 명령을 실행합니다.
aws rds describe-db-instances --db-instance-identifier instance-id
참고: instance-id를 데이터베이스 인스턴스 식별자로 바꿉니다.
복원 작업 후 성능 개선에 대한 자세한 내용은 PostgreSQL 작업 모범 사례를 참조하십시오.
데이터베이스 엔드포인트 관리
복원 작업 후 동일한 엔드포인트 이름을 유지해야 하는 경우 데이터베이스 인스턴스의 이름을 변경할 수 있습니다.
읽기 복제본을 사용하는 경우 복원 작업 후에 구성을 업데이트해야 합니다.
관련 정보
DB 인스턴스로 복원
Amazon RDS의 지정된 시간으로 DB 인스턴스 복원
PostgreSQL 데이터베이스를 Amazon RDS 및 Amazon Aurora로 마이그레이션하는 모범 사례