최신 버전으로 데이터베이스 마이그레이션

이 섹션에서는 최신 버전으로의 PostgreSQL 데이터베이스 업그레이드에 대해 설명합니다. PostgreSQL 14를 이미 사용 중인 경우에는 이 마이그레이션을 수행할 필요가 없습니다.

최신 SUSE Manager 버전으로 업그레이드하려면 기본 운영 체제에 따라 PostgreSQL 버전 13 또는 14를 사용해야 합니다.

  • SUSE Linux Enterprise Server 15 SP3을 실행 중인 경우에는 PostgreSQL 13을 사용하십시오.

  • SUSE Linux Enterprise Server 15 SP4를 실행 중인 경우에는 PostgreSQL 14를 사용하십시오.

1. 업그레이드 준비

업그레이드하기 전에 기존 SUSE Manager 서버를 준비한 후 데이터베이스를 백업합니다.

PostgreSQL에서는 데이터가 /var/lib/pgsql/data/에 저장됩니다.

절차: 업그레이드 준비
  1. 활성 PostgreSQL 버전을 확인합니다.

    psql --version
  2. 활성 smdba 버전을 확인합니다.

    rpm -q smdba

    PostgreSQL 14에는 smdba버전 1.7.6 이상이 필요합니다.

  3. 데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 백업 및 복구에서 참조하십시오.

2. PostgreSQL 업그레이드

항상 데이터베이스를 백업한 후 마이그레이션을 수행해야 합니다.

PostgreSQL 업그레이드는 일반 업그레이드와 빠른 업그레이드의 두 가지 방법으로 수행할 수 있습니다.

정기적으로 업그레이드하면 데이터베이스의 완전한 사본이 생성되므로 두 배의 기존 데이터베이스 여유 공간 크기가 필요합니다. 정기 업그레이드를 수행하기 위해서는 데이터베이스의 크기 및 스토리지 시스템의 속도에 따라 상당한 시간이 걸릴 수 있습니다.

빠른 업그레이드에는 몇 분이 걸릴 수 있으며, 추가적인 디스크 공간을 거의 사용하지 않습니다. 그러나 빠른 업그레이드가 실패하면 백업에서 데이터베이스를 복원해야 합니다. 빠른 업그레이드는 디스크 공간이 부족해지는 위험을 줄여주지만, 백업이 없거나 다시 수행할 수 없는 경우 데이터 위험이 증가합니다. 일반 업그레이드는 파일 간의 하드 링크를 생성하는 대신 데이터베이스 파일을 복사합니다.

PostgreSQL에서는 데이터가 /var/lib/pgsql/data/에 저장됩니다.

DB 업그레이드를 실행하기 전, PostgreSQL 사용자가 시스템에 있는지 확인하십시오. /etc/passwd 항목은 다음과 같아야 합니다.

postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
절차: 일반 업그레이드 수행
  1. 데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 백업 및 복구에서 참조하십시오.

  2. 업그레이드를 시작합니다. 스크립트 실행:

    /usr/lib/susemanager/bin/pg-migrate-x-to-y.sh
  3. 업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12 또는 /var/lib/pgsql/data-pg10으로 이름이 변경됩니다.

pg-migrate-x-to-y.sh 스크립트가 다음 작업을 수행합니다.

  • Spacewalk 서비스 중지

  • 실행 중인 데이터베이스 종료

  • 최신 PostgreSQL이 설치되었는지 확인한 후 필요한 경우 설치

  • 이전 버전의 PostgreSQL에서 새 기본값인 최신 버전으로 전환

  • 데이터베이스 마이그레이션 시작

  • SUSE Manager에서 사용할 수 있도록 조정된 PostgreSQL 구성 파일 생성

  • 데이터베이스 및 Spacewalk 서비스 시작

업그레이드에 실패하면 마이그레이션 스크립트가 데이터베이스를 원래 상태로 복원하려고 시도합니다.

절차: 빠른 PostgreSQL 업그레이드 수행
  1. 데이터베이스 백업을 실행하십시오. 검증된 데이터베이스 백업이 없으면 빠른 업그레이드를 시작할 수 없습니다. 백업에 대한 자세한 내용은 백업 및 복구에서 참조하십시오.

  2. 업그레이드를 시작합니다. 스크립트를 실행합니다.

    /usr/lib/susemanager/bin/pg-migrate-x-to-y.sh -f
  3. 업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12 또는 /var/lib/pgsql/data-pg10으로 이름이 변경됩니다.