주요 콘텐츠

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

Polyspace Access 데이터베이스 백업

R2026a

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 서비스가 실행 중이라고 가정합니다.

  1. 백업에 일부 데이터나 손상된 데이터가 포함되지 않도록 하려면 백업 작업을 시작하기 전에 Polyspace Access ETL 및 Polyspace Access Web Server 서비스를 중지하세요. 터미널에서 다음 명령을 입력합니다.

    docker stop polyspace-access-etl-0-main polyspace-access-web-server-0-main

    참고

    Polyspace Access 버전 R2021b 이하를 실행하는 경우 Docker 컨테이너 이름이 다를 수 있습니다. 현재 실행 중인 컨테이너의 이름을 보려면 docker ps --format '{{.Names}}' 명령을 사용합니다.

  2. 데이터베이스 백업을 생성하여 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를 사용하면 일부 운영 체제에서 최대 파일 크기 제한을 초과하는 파일이 생성될 수 있으며 시간이 많이 걸릴 수 있습니다.

  3. 백업이 완료되면 이 명령을 사용하여 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®에서는 이 작업을 완료하려면 수퍼유저 권한이 필요할 수 있습니다.

  1. Polyspace Access ETL 및 Polyspace Access Web Server 서비스를 중지합니다. 터미널에서 다음 명령을 입력합니다.

    docker stop polyspace-access-etl-0-main polyspace-access-web-server-0-main

  2. 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

  3. 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

    참고

    대용량 데이터베이스의 압축 해제된 백업 파일은 일부 운영 체제에서 최대 파일 크기 제한을 초과할 수 있습니다.

  4. Cluster Admin 인터페이스에서 Restart Apps를 클릭하여 모든 서비스를 시작합니다.

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

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

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

참고 항목

도움말 항목