이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Polyspace Access 데이터베이스 백업
Polyspace® Access™ 데이터베이스의 백업을 생성하려면 pg_dumpall
PostgreSQL® 유틸리티를 사용하세요. 이 유틸리티는 데이터베이스 덤프를 생성합니다. 그러면 덤프가 생성된 시점부터 데이터베이스 상태를 복원할 수 있습니다. pg_dumpall
유틸리티는 Polyspace Access의 polyspace-access-db-0-main
컨테이너에서 사용할 수 있습니다.
데이터베이스 크기와 사용 빈도에 따라 백업 생성 빈도에 대한 정책을 설정하십시오. 데이터베이스 백업이나 복원을 수행하는 동안 사용자는 Polyspace Access와 상호 작용할 수 없습니다. 백업 또는 복원 작업을 시작하기 전에 사용자에게 알립니다.
데이터베이스 백업 생성
데이터베이스 백업을 생성할 때 pg_dumpall
유틸리티는 데이터베이스를 재구성하는 데 사용하는 SQL 명령 목록을 생성합니다. 백업 작업에는 슈퍼유저 권한이 필요합니다. 권한은 PostgreSQL을 통해 설정되며 시스템의 사용자 권한과는 별개입니다. 예를 들어 데이터베이스 덤프를 생성하고 backup_db.sql
로 저장하려면 Polyspace Access Database 서비스를 호스팅하는 머신에서 터미널을 열고 다음 단계를 따르세요. 이 워크플로는 모든 Polyspace Access 서비스가 실행 중이라고 가정합니다.
백업에 일부 데이터나 손상된 데이터가 포함되지 않도록 하려면 백업 작업을 시작하기 전에 Polyspace Access ETL 및 Polyspace Access Web Server 서비스를 중지하세요. 터미널에서 다음 명령을 입력합니다.
docker stop polyspace-access-etl-0-main polyspace-access-web-server-0-main
참고
PolyspaceAccess 버전 R2021b 이하를 실행하는 경우 Docker 컨테이너 이름이 다를 수 있습니다. 현재 실행 중인 컨테이너의 이름을 보려면
docker ps --format '{{.Names}}'
명령을 사용합니다.데이터베이스 백업을 생성하여
backup_db.sql
에 저장합니다.docker exec polyspace-access-db-0-main pg_dumpall -U postgres > backup_db.sql
docker exec
명령은polyspace-access-db-0-main
컨테이너 내에서pg_dumpall
유틸리티를 실행합니다.-U
는 수퍼유저postgres
를 지정합니다. 그러면pg_dumpall
의 출력이backup_db.sql
로 저장됩니다.생성된 백업 파일을 압축할 수도 있습니다. 예를 들어 백업을 생성하고
gzip
를 사용하여 압축하려면 다음 명령을 입력합니다.docker exec polyspace-access-db-0-main pg_dumpall -U postgres | gzip > backup_db.gz
참고
대규모 데이터베이스에서
pg_dumpall
를 사용하면 일부 운영 체제에서 최대 파일 크기 제한을 초과하는 파일이 생성될 수 있으며 시간이 많이 걸릴 수 있습니다.백업이 완료되면 이 명령을 사용하여 Polyspace Access ETL 및 Polyspace Access Web Server 서비스를 다시 시작하세요.
docker start polyspace-access-etl-0-main polyspace-access-web-server-0-main
스크립트를 사용하여 데이터베이스 백업을 생성하는 경우 스크립트가
pg_dumpall
오류를 올바르게 처리하는지 확인하세요. 스크립트에 오류가 발생하면 컨테이너를 다시 시작하는 명령이 실행되지 않을 수 있습니다.
백업에서 데이터베이스 복원
데이터베이스 백업에서 데이터를 복구하려면 psql
유틸리티를 사용하십시오. 이 유틸리티는 polyspace-access-db-main
컨테이너에서 사용할 수 있습니다. 이 작업은 Polyspace Access 프로젝트에 대한 데이터와 사용자 권한을 복원합니다. 예를 들어, backup_db.sql
파일에 저장된 백업에서 데이터베이스를 복원할 수 있습니다. Cluster Admin 인터페이스의 일부 단계를 완료합니다. 다른 단계에서는 Polyspace Access Database 서비스를 호스팅하는 서버에 터미널이 필요합니다. Linux®에서는 이 작업을 완료하려면 수퍼유저 권한이 필요할 수 있습니다.
Polyspace Access ETL 및 Polyspace Access Web Server 서비스를 중지합니다. 터미널에서 다음 명령을 입력합니다.
docker stop polyspace-access-etl-0-main polyspace-access-web-server-0-main
Polyspace Access 데이터베이스가 저장된 폴더를 삭제한 후 Polyspace Access Database 서비스를 다시 시작합니다.
sudo rm -rf databaseFolderPath docker restart polyspace-access-db-0-main
databaseFolderPath
는 Admin Cluster Settings에 있는 Polyspace Access Database 서비스의 Data volume 필드에 지정하는 폴더 경로입니다. 예:/local/Polyspace/R2020b/appdata/polyspace-access/db
Data volume 필드에 폴더 경로 대신 볼륨 이름을 지정하는 경우(예:
polyspace-data
) 다음 명령을 사용하여 데이터베이스 서비스를 중지하고, 볼륨을 삭제하고, 새 볼륨을 생성하고, 데이터베이스 서비스를 다시 시작합니다.docker stop polyspace-access-db-0-main docker volume rm polyspace-data docker volume create polyspace-data docker restart polyspace-access-db-0-main
backup_db.sql
에서 데이터베이스를 복원합니다. 터미널에서 다음 명령을 입력합니다.백업을 압축 파일에 저장한 경우 파일의 압축을 푼 다음 해당 콘텐츠를docker exec -i polyspace-access-db-0-main psql -U postgres postgres <backup_db.sql
docker exec
명령으로 파이프합니다. 예를 들어,gzip
를 사용하는 경우 이 명령을 사용하여backup_db.gz
파일에서 데이터베이스를 복원합니다.gzip -cd backup_db.gz | docker exec -i polyspace-access-db-0-main psql -U postgres postgres
참고
대용량 데이터베이스의 압축 해제된 백업 파일은 일부 운영 체제에서 최대 파일 크기 제한을 초과할 수 있습니다.
Cluster Admin 인터페이스에서 Restart Apps를 클릭하여 모든 서비스를 시작합니다.
서비스가 시작된 후 웹 브라우저에서 Polyspace Access 인터페이스를 열어서 백업을 생성할 때 데이터베이스에 저장된 프로젝트를 확인하세요.
또는 WAL(write ahead log) 파일을 사용하여 데이터베이스의 증분 백업 및 복구를 수행할 수 있습니다. WAL은 데이터베이스에 대한 모든 변경 사항을 기록합니다. 시스템은 몇 개의 WAL 파일만 저장하고 오래된 파일을 재활용합니다.
기본 백업을 생성하고 모든 후속 WAL 파일을 저장하면 기본 백업을 만든 시점과 현재 시점 사이의 어느 시점까지 WAL 시퀀스를 재생하여 데이터베이스를 복원할 수 있습니다. 증분 백업을 구성하는 방법의 예는 지속적 보관 및 특정 시점 복구(PITR)를 참조하세요.
참고 항목
도움말 항목
- 스토리지 및 포트 구성
- Install Polyspace Access for Web Reviews (Polyspace Bug Finder)