최신 버전으로 데이터베이스 마이그레이션
이 섹션에서는 최신 버전으로의 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/에 저장됩니다.
- 
활성 PostgreSQL 버전을 확인합니다. psql --version 
- 
활성 smdba 버전을 확인합니다. rpm -q smdba PostgreSQL 14에는 smdba버전 1.7.6 이상이 필요합니다.
- 
데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 백업 및 복구에서 참조하십시오. 
2. PostgreSQL 업그레이드
| 항상 데이터베이스를 백업한 후 마이그레이션을 수행해야 합니다. | 
PostgreSQL 업그레이드는 일반 업그레이드와 빠른 업그레이드의 두 가지 방법으로 수행할 수 있습니다.
정기적으로 업그레이드하면 데이터베이스의 완전한 사본이 생성되므로 두 배의 기존 데이터베이스 여유 공간 크기가 필요합니다. 정기 업그레이드를 수행하기 위해서는 데이터베이스의 크기 및 스토리지 시스템의 속도에 따라 상당한 시간이 걸릴 수 있습니다.
빠른 업그레이드에는 몇 분이 걸릴 수 있으며, 추가적인 디스크 공간을 거의 사용하지 않습니다. 그러나 빠른 업그레이드가 실패하면 백업에서 데이터베이스를 복원해야 합니다. 빠른 업그레이드는 디스크 공간이 부족해지는 위험을 줄여주지만, 백업이 없거나 다시 수행할 수 없는 경우 데이터 위험이 증가합니다. 일반 업그레이드는 파일 간의 하드 링크를 생성하는 대신 데이터베이스 파일을 복사합니다.
PostgreSQL에서는 데이터가 /var/lib/pgsql/data/에 저장됩니다.
| DB 업그레이드를 실행하기 전, PostgreSQL 사용자가 시스템에 있는지 확인하십시오.  postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash | 
- 
데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 백업 및 복구에서 참조하십시오. 
- 
업그레이드를 시작합니다. 스크립트 실행: /usr/lib/susemanager/bin/pg-migrate-x-to-y.sh 
- 
업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12또는/var/lib/pgsql/data-pg10으로 이름이 변경됩니다.
pg-migrate-x-to-y.sh 스크립트가 다음 작업을 수행합니다.
- 
Spacewalk 서비스 중지 
- 
실행 중인 데이터베이스 종료 
- 
최신 PostgreSQL이 설치되었는지 확인한 후 필요한 경우 설치 
- 
이전 버전의 PostgreSQL에서 새 기본값인 최신 버전으로 전환 
- 
데이터베이스 마이그레이션 시작 
- 
SUSE Manager에서 사용할 수 있도록 조정된 PostgreSQL 구성 파일 생성 
- 
데이터베이스 및 Spacewalk 서비스 시작 
| 업그레이드에 실패하면 마이그레이션 스크립트가 데이터베이스를 원래 상태로 복원하려고 시도합니다. | 
- 
데이터베이스 백업을 실행하십시오. 검증된 데이터베이스 백업이 없으면 빠른 업그레이드를 시작할 수 없습니다. 백업에 대한 자세한 내용은 백업 및 복구에서 참조하십시오. 
- 
업그레이드를 시작합니다. 스크립트를 실행합니다. /usr/lib/susemanager/bin/pg-migrate-x-to-y.sh -f 
- 
업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12또는/var/lib/pgsql/data-pg10으로 이름이 변경됩니다.
| 데이터베이스 마이그레이션이 성공적으로 완료되면, 이전 버전의 PostgreSQL 데이터베이스 소프트웨어는 더 이상 필요하지 않습니다. |