주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Polyspace Access R2020a 및 이전 버전에 대한 데이터베이스 백업

참고

이 주제는 Polyspace® Access™ R2020a 및 이전 버전에 적용됩니다. R2020b 이상의 버전은 Polyspace Access 데이터베이스 백업를 참조하세요.

Polyspace Access 데이터베이스의 백업을 생성하려면 pg_dumpall PostgreSQL 유틸리티를 사용하세요. 이 유틸리티는 데이터베이스 덤프를 생성합니다. 그러면 덤프가 생성된 시점부터 데이터베이스 상태를 복원할 수 있습니다. pg_dumpall 유틸리티는 Polyspace Accesspolyspace-db 컨테이너에서 사용할 수 있습니다.

데이터베이스 크기와 사용 빈도에 따라 백업 생성 빈도에 대한 정책을 설정하십시오. 데이터베이스 백업이나 복원을 수행하는 동안 사용자는 Polyspace Access와 상호 작용할 수 없습니다. 백업 또는 복원 작업을 시작하기 전에 사용자에게 알립니다.

데이터베이스 백업 생성

데이터베이스 백업을 생성할 때 pg_dumpall 유틸리티는 데이터베이스를 재구성하는 데 사용하는 SQL 명령 목록을 생성합니다. 백업 작업에는 슈퍼유저 권한이 필요합니다. 권한은 PostgreSQL을 통해 설정되며 시스템의 사용자 권한과는 별개입니다. 예를 들어 데이터베이스 덤프를 생성하고 backup_db.sql로 저장하려면 Database 서비스를 호스팅하는 머신에서 터미널을 열고 다음 단계를 따르세요.

  1. 백업에 부분적이거나 손상된 데이터가 포함되지 않도록 하려면 백업 작업을 시작하기 전에 ETLWeb Server 서비스를 중지하십시오. 터미널에서 다음 명령을 입력합니다.

    docker stop polyspace-etl polyspace-web-server

    Windows Server® 2019에서 클러스터 운영자(COP) 인터페이스를 사용하여 Polyspace Access 서비스를 중지하면 응답 시간이 느려질 수 있습니다. 대신 다음 명령을 사용하여 서비스를 중지하세요.

    docker exec -it polyspace-etl kill 1
    docker exec -it polyspace-web-server kill 1

  2. 데이터베이스 백업을 생성하여 backup_db.sql에 저장합니다.

    docker exec polyspace-db pg_dumpall -U postgres > backup_db.sql
    docker exec 명령은 polyspace-db 컨테이너 내에서 pg_dumpall 유틸리티를 실행합니다. -U는 수퍼유저 postgres를 지정합니다. 그러면 pg_dumpall의 출력이 backup_db.sql로 저장됩니다. 대규모 데이터베이스에서 pg_dumpall 을 사용하면 일부 운영 체제에서 최대 파일 크기 제한을 초과하는 파일이 생성될 수 있으며 시간이 많이 걸릴 수 있습니다.

  3. ETLWeb Server 서비스를 다시 시작합니다.

    docker start polyspace-etl polyspace-web-server

백업에서 데이터베이스 복원

데이터베이스 백업에서 데이터를 복구하려면 psql 유틸리티를 사용하십시오. 이 유틸리티는 polyspace-db 컨테이너에서 사용할 수 있습니다. 이 작업은 Polyspace Access 프로젝트에 대한 데이터와 사용자 권한을 복원합니다. 예를 들어, backup_db.sql 파일에 저장된 백업에서 데이터베이스를 복원할 수 있습니다. COP 인터페이스에서 일부 단계를 완료합니다. 다른 단계에서는 Database 서비스를 호스팅하는 서버에 터미널이 필요합니다.

  1. 데이터베이스를 생성합니다. COP 인터페이스에서 모든 서비스를 삭제한 다음 왼쪽 창에서 Settings를 클릭합니다. Database 설정에서 Data volume 필드 옆에 있는 create volume를 클릭하여 볼륨을 생성한 다음 Data volume 드롭다운 목록에서 이 볼륨을 선택합니다. create volume 링크가 표시되지 않으면 Data volume 필드에 새 폴더 경로를 지정하십시오. 폴더 경로가 없으면 COP가 폴더 경로를 만듭니다. 변경 사항을 저장합니다.

  2. Services 탭으로 돌아가서 PROVISION를 클릭한 다음 Database 서비스만 시작하세요.

  3. backup_db.sql에서 데이터베이스를 복원합니다. 터미널에서 다음 명령을 입력합니다.

    docker exec -i polyspace-db psql -U postgres postgres <backup_db.sql
    백업을 압축 파일에 저장한 경우 파일의 압축을 푼 다음 해당 콘텐츠를 docker exec 명령으로 파이프합니다. 예를 들어, gzip를 사용하는 경우 backup_db.gz 파일에서 데이터베이스를 복원하려면 다음을 입력합니다.
    gzip -cd backup_db.gz | docker exec -i polyspace-db psql -U postgres postgres

  4. COP 인터페이스에서 START ALL를 클릭하여 모든 서비스를 시작합니다.

서비스가 시작된 후 웹 브라우저에서 Polyspace Access 인터페이스를 열어 백업을 생성한 때까지 데이터베이스에 저장된 프로젝트를 확인하세요.

또는 WAL(write ahead log) 파일을 사용하여 데이터베이스의 증분 백업 및 복구를 수행할 수 있습니다. WAL은 데이터베이스에 대한 모든 변경 사항을 기록합니다. 시스템은 몇 개의 WAL 파일만 저장하고 오래된 파일을 재활용합니다.

기본 백업을 생성하고 모든 후속 WAL 파일을 저장하면 기본 백업을 만든 시점과 현재 시점 사이의 어느 시점까지 WAL 시퀀스를 재생하여 데이터베이스를 복원할 수 있습니다. 증분 백업을 구성하는 방법의 예는 지속적 보관 및 특정 시점 복구(PITR)를 참조하세요.

참고 항목

도움말 항목