이 문서는 지원되지 않는 버전의 토토 핫을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 18.6. PostgreSQL 클러스터 토토 핫버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

17.6. a 업그레이드토토 핫클러스터

이 섹션에서 데이터베이스 데이터를 업그레이드하는 방법에 대해 설명합니다. 하나토토 핫더 새로 릴리스 하나.

토토 핫주요 버전은입니다 버전 번호의 처음 두 자리 그룹으로 표시 예를 들어, 8.4.토토 핫마이너 버전은 세 번째 버전 숫자 그룹으로 표시되며 예를 들어, 8.4.2는 8.4의 두 번째 작은 릴리스입니다. 사소한 릴리스 내부 스토리지 형식을 변경하지 않으며 항상 호환됩니다. 동일한 주요 버전의 이전 및 이후의 사소한 릴리스와 함께 예를 들어, 8.4.2는 8.4, 8.4.1 및 8.4.6과 호환됩니다. 에게 호환 버전간에 업데이트하면 간단히 교체합니다 서버가 다운되어 서버를 다시 시작하는 동안 실행 파일. 그만큼 데이터 디렉토리는 변경되지 않습니다. 사소한 업그레이드입니다 단순한.

for전공릴리스토토 핫, 내부 데이터 스토리지 형식은 변경 될 수 있으므로 업그레이드를 복잡하게합니다. 데이터를 새로운 주요 버전으로 옮기는 전통적인 방법은 데이터베이스를 덤프하고 다시로드하십시오. 다른 방법을 사용할 수 있습니다 아래 논의.

새로운 주요 버전은 일반적으로 일부 사용자가시기를 소개합니다 비 호환성, 따라서 응용 프로그램 프로그래밍 변경이있을 수 있습니다 필수의. 모든 사용자가 가시 가능한 변경 사항은 릴리스 노트에 나열되어 있습니다 (PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 노트); 특히주의를 기울이십시오 "마이그레이션"이라는 섹션에. 업그레이드하는 경우 여러 주요 버전은 각각에 대한 릴리스 노트를 읽으십시오. 중재 버전.

신중한 사용자는 클라이언트 애플리케이션을 테스트하려고합니다. 완전히 전환하기 전에 새 버전; 그러므로 종종입니다 구식 및 신규의 동시 설치를 설정하는 것이 좋습니다. 버전. a를 테스트 할 때토토 핫주요 업그레이드, 고려하십시오 가능한 변경 범주 :

관리

관리자가 모니터링 할 수있는 기능 서버 제어 서버는 종종 각 전공에서 변경되고 향상됩니다. 풀어 주다.

SQL

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

Library API

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

시스템 카탈로그

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

서버 C- 언어 API

이것은 백엔드 기능 API의 변경 사항을 포함합니다. C 프로그래밍 언어로 작성되었습니다. 이러한 변경 사항은 코드에 영향을 미칩니다 그 참조 백엔드는 서버 내부의 깊은 곳에서 기능합니다.

17.6.1. 를 통해 데이터 업그레이드pg_dump

하나의 주요 버전에서 데이터를 덤프하려면토토 핫다른 사람에게 다시로드해야합니다 사용pg_dump; 파일 시스템 수준 백업 방법은 작동하지 않습니다. (수표가 있습니다 호환되지 않는 데이터 디렉토리를 사용하지 않도록 의 버전토토 핫잘못된 서버 버전을 데이터 디렉토리.)

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

이 지침은 기존 설치가 있다고 가정합니다 아래/usr/local/pgsql디렉토리 및 데이터 영역이/usr/local/pgsql/data. 당신의 길을 대체하십시오 적절하게.

  1. 백업을하는 경우 데이터베이스가 없는지 확인하십시오. 업데이트. 이것은 백업의 무결성에 영향을 미치지 않지만 변경된 데이터는 물론 포함되지 않습니다. 필요한 경우 편집하십시오 파일의 권한/usr/local/pgsql/data/pg_hba.conf(또는 동등한) 당신을 제외한 모든 사람의 접근을 허용하지 않습니다. 보다19 장추가 액세스 제어에 대한 정보.

    데이터베이스 설치를 백업하려면 다음 유형 :

    pg_dumpalloutputFile

    OID를 보존 해야하는 경우 (예 : 외국으로 사용할 때와 같은 키), 사용-o실행할 때의 옵션pg_dumpall.

    백업을하려면를 사용할 수 있습니다.pg_dumpall귀하가있는 버전에서 명령 현재 실행 중입니다. 그러나 최상의 결과를 얻으려면를 사용해보십시오.pg_dumpall명령에서토토 핫9.3.25 이후 버전에는 이전 버전에 비해 버그 수정 및 개선이 포함되어 있습니다. 이 조언은 당신이하지 않았기 때문에 특유의 것처럼 보일 수 있습니다 새 버전을 아직 설치했지만, 당신이이를 따르는 것이 좋습니다. 이전 버전과 병렬로 새 버전을 설치할 계획입니다. 이 경우 일반적으로 설치를 완료 할 수 있으며 나중에 데이터를 전송하십시오. 이것은 또한 가동 중지 시간이 줄어 듭니다.

  2. 이전 서버 종료 :

    PG_CTL STOP

    토토 핫부팅 시간에 시작하여 아마도 시작 파일이있을 것입니다. 같은 일을 성취하십시오. 예를 들어에서Red Hat Linux시스템은 이것을 찾을 수 있습니다 공장:

    /etc/rc.d/init.d/토토 핫 stop

    참조PostgreSQL : 문서 : 9.3 : 사설 토토 사이트 설정 및 작동에 대한 자세한 내용 서버 시작 및 중지.

  3. 백업에서 복원하는 경우 이전 설치의 이름을 바꾸거나 삭제하십시오. 예배 규칙서. 디렉토리의 이름을 바꾸는 것이 좋습니다. 문제가 있고 복귀시켜야 할 경우 삭제하십시오. 유지하다 디렉토리는 중요한 디스크 공간을 소비 할 수 있습니다. 에게 디렉토리의 이름을 바꾸고 다음과 같이 명령을 사용하십시오.

    mv/usr/local/pgsql /usr/local/pgsql.old

    (디렉토리를 단일 장치로 이동하여 상대적으로 이동하십시오. 경로는 변하지 않습니다.)

  4. 새 버전 설치토토 핫요약 된대로섹션 15.4.

  5. 필요한 경우 새 데이터베이스 클러스터를 만듭니다. 당신은해야한다는 것을 기억하십시오 특수 데이터베이스 사용자에게 로그인 한 상태에서 이러한 명령을 실행하십시오. 계정 (업그레이드중인 경우 이미 가지고있는).

    /usr/local/pgsql/bin/initdb -d/usr/local/pgsql/data
  6. 이전 복원pg_hba.conf및 어느토토 핫.conf수정.

  7. 데이터베이스 서버 시작, 다시 특수 데이터베이스 사용자를 사용하여 계정:

    /usr/local/pgsql/bin/postgres -d/usr/local/pgsql/data
  8. 마지막으로 : 백업에서 데이터를 복원하십시오.

    /usr/local/pgsql/bin/psql -d postgres -foutputfile

    사용NEW PSQL.

새 서버를 설치하여 최소한의 다운 타임을 달성 할 수 있습니다. 다른 디렉토리에서 구식과 새로운 것 모두 실행 다른 포트에서 서버와 병렬로 서버. 그런 다음 무언가를 사용할 수 있습니다 좋다:

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

데이터를 전송하려면

17.6.2. 비 덤프 업그레이드 방법

thePostgreSQL : 문서 : 9.3 : 사설 토토모듈 허용 하나의 전공에서 내에서 마이그레이션 할 설치토토 핫다음 버전. 업그레이드 할 수 있습니다 몇 분 안에 수행됩니다.

와 같은 특정 복제 방법을 사용할 수도 있습니다.Slony, 대기 서버를 생성합니다 업데이트 된 버전의토토 핫. 슬론이기 때문에 가능합니다 서로 다른 주요 버전의 복제를 지원합니다토토 핫. 대기가 켜질 수 있습니다 동일한 컴퓨터 또는 다른 컴퓨터. 일단 동기화되면 마스터 서버 (이전 버전 실행토토 핫), 마스터를 전환하고 만들 수 있습니다 대기 마스터와 이전 데이터베이스 인스턴스를 종료합니다. 이러한 전환은 몇 초 만에 가동 중지 시간 만 업그레이드.