이 문서는 지원되지 않는 버전의 토토 결과 용입니다.
당신은에 대해 동일한 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

24.5. 릴리스 간 마이그레이션

이 섹션에서 데이터베이스 데이터를 마이그레이션하는 방법에 대해 설명합니다. 하나토토 결과a 최신. 소프트웨어 설치 절차그 자체이 섹션의 주제가 아닙니다. 그 세부 사항은토토 커뮤니티 : 문서 : 8.4 : 소스 코드에서 설치.

일반적으로 내부 데이터 저장 형식은 주제입니다. 주요 릴리스 사이의 변화토토 결과(첫 번째 숫자 후 숫자 도트 변경). 이것은 다른 사소한 릴리스에는 적용되지 않습니다 동일한 주요 릴리스 (두 번째 이후의 숫자 도트 변경); 이들은 항상 호환되는 스토리지 형식을 가지고 있습니다. 을 위한 예를 들어, 8.1.1, 8.2.3 및 8.3 릴리스와 호환되지 않습니다. 8.2.3 및 8.2.4는입니다. 호환성 사이를 업데이트 할 때 버전, 실행 파일을 교체하고 재사용 할 수 있습니다. 디스크의 데이터 디렉토리. 그렇지 않으면 데이터를 백업해야합니다 새 서버에서 복원하십시오. 이것은를 사용하여 수행해야합니다.pg_dump; 파일 시스템 수준 백업 방법은 분명히 작동하지 않습니다. 수표가 있습니다 호환되지 않는 데이터 디렉토리를 사용하지 못하게합니다. 의 버전토토 결과잘못된 서버를 시작하려고 시도함으로써 큰 ​​피해를 입을 수 있습니다. 데이터 디렉토리의 버전.

사용하는 것이 좋습니다pg_dumpandpg_dumpall최신 버전의 프로그램 의토토 결과이 프로그램에서 만들어 졌을 수있는 모든 개선 사항 중. 덤프 프로그램의 현재 릴리스는 모든의 데이터를 읽을 수 있습니다. 서버 버전은 7.0으로 돌아갑니다.

새를 설치하여 최소한의 다운 타임을 달성 할 수 있습니다. 다른 디렉토리의 서버와 기존과 다른 포트에서 새로운 서버. 그런 다음 사용할 수 있습니다 다음과 같은 것 :

PG_DUMPALL -P 5432 | PSQL -D Postgres -P 6543

데이터를 전송하려면. 또는 경우 중간 파일을 사용하십시오 원하다. 그런 다음 이전 서버를 종료하고 새로 시작할 수 있습니다. 포트의 서버는 오래된 것이 실행 중입니다. 당신은 만들어야합니다 실행되기 시작한 후에는 이전 데이터베이스가 업데이트되지 않도록합니다pg_dumpall, 그렇지 않으면 당신은 할 것입니다 그 데이터를 잃어 버리십시오. 보다토토 핫 : 문서 : 8.4 : 토토 핫 인증액세스를 금지하는 방법에 대한 정보.

와 같은 복제 방법을 사용할 수도 있습니다.Slony, 슬레이브 서버를 생성합니다 업데이트 된 버전의토토 결과. 노예는 동일 할 수 있습니다 컴퓨터 또는 다른 컴퓨터. 일단 그것이 동기화되면 마스터 서버 (이전 버전 실행토토 결과), 마스터를 전환하고 만들 수 있습니다 노예 마스터와 이전 데이터베이스 인스턴스를 종료합니다. 이러한 전환은 몇 초 만에 다운 타임 만 발생합니다. 업그레이드를 위해.

두 서버를 병렬로 실행할 수 없거나 원하지 않는 경우, 새 버전을 설치하기 전에 백업 단계를 수행 할 수 있습니다. 서버를 중단하고 이전 버전을 옮기고, 새 버전을 설치하고 새 서버를 시작한 후 데이터. 예를 들어:

PG_DUMPALL 백업
PG_CTL 중지
mv/usr/local/pgsql /usr/local/pgsql.old
CD ~/토토 결과-8.4.22
Gmake 설치
initdb -d/usr/local/pgsql/data
Postgres -d/usr/local/pgsql/data
PSQL -F 백업 포스트 그레

참조PostgreSQL : 문서 : 8.4 : 서버 토토 사이트 순위 및 작동시작 방법에 대해 서버 및 기타 세부 사항을 중지하십시오. 설치 지시 사항은이를 수행 할 전략적 장소를 조언합니다. 단계.

참고 :언제"오래된 것을 움직입니다 "에 설치더 이상 없을 수도 있습니다 완벽하게 사용할 수 있습니다. 일부 실행 가능한 프로그램에는 포함되어 있습니다 다양한 설치된 프로그램 및 데이터 파일에 대한 절대 경로. 이것은 일반적으로 큰 문제는 아니지만 사용 계획이있는 경우 한동안 2 개의 설치를 할당해야합니다. 빌드 타임에 다른 설치 디렉토리. (이것 문제가토토 결과8.0 이상 설치된 파일이 포함 된 모든 하위 디렉토리를 함께 이동하십시오. 예를 들어/usr/local/postgres/bin//usr/local/postgres.old/bin/,/usr/local/postgres/share//usr/local/postgres.old/share/. ~ 안에 8.0 이전에는 설치를 릴리스하는 데 이와 같은 설치가 릴리스됩니다 일하다.)

실제로 클라이언트 응용 프로그램을 테스트하고 싶을 것입니다. 완전히 전환하기 전에 새 버전에서. 이것은 동시 설치를 설정하는 또 다른 이유와 새로운 버전. a를 테스트 할 때토토 결과주요 업그레이드, 고려하십시오 가능한 변경 범주 :

관리

관리자가 모니터링 할 수있는 기능 서버가 종종 각각 변경 및 개선을 제어합니다. 메이저 릴리스.

SQL

일반적으로 여기에는 새로운 SQL 명령 기능이 포함됩니다 구체적으로 언급되지 않는 한 행동의 변화가 아닙니다 릴리스 노트.

도서관 API

일반적으로 라이브러리와 같은 라이브러리libpq새로운 기능 만 추가하십시오. 릴리스 노트에 언급되지 않는 한 다시.

시스템 카탈로그

시스템 카탈로그 변경은 일반적으로 데이터베이스에만 영향을 미칩니다 관리 도구.

서버 C- 언어 API

이것은 백엔드 기능 API의 변경과 관련이 있습니다 C 프로그래밍 언어로 작성되었습니다. 그러한 변화 효과적인 코드는 백엔드 기능을 깊이 깊게 기능합니다 서버.