2025 년 7 월 17 일 : | 롤 토토 18 베타 2 릴리스!
이 문서는 지원되지 않는 버전의 롤 토토을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 18.6. PostgreSQL버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

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

이 섹션에서 데이터베이스 데이터를 업그레이드하는 방법에 대해 설명합니다. 하나롤 토토a 최신.

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

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

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

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

관리

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

SQL

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

도서관 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(또는 동등한) 당신을 제외한 모든 사람의 접근을 허용하지 않습니다. 보다토토 핫 : 문서 : 9.1 : 클라이언트 인증액세스 제어에 대한 추가 정보.

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

    pg_dumpalloutputfile
    

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

    백업을 만들려면를 사용할 수 있습니다.pg_dumpall버전에서 명령 당신은 현재 실행 중입니다. 그러나 최상의 결과를 얻으려면 시도하십시오 사용하려면pg_dumpall명령롤 토토9.1.24,이 버전에는 버그 수정이 포함되어 있기 때문입니다 이전 버전보다 개선. 이 조언은 할 수 있습니다 새로 설치하지 않았기 때문에 특유의 것 같습니다 그러나 버전은 계획을 세우는 것이 좋습니다. 이전 버전과 병렬로 새 버전을 설치하십시오. 이 경우 설치를 정상적으로 완료 할 수 있습니다 나중에 데이터를 전송합니다. 이것은 또한 감소 할 것입니다 중단 시간.

  2. 기존 서버를 종료 :

    pg_ctl 정지
    

    롤 토토부팅 시간에 시작하여 아마도 시작 파일이있을 것입니다 같은 것. 예를 들어에서Red Hat Linux시스템을 찾을 수 있습니다 이게 작동한다 :

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

    참조토토 사이트 추천 : 문서 : 9.1 : 서버 토토 사이트 추천 및 작동자세한 내용 서버 시작 및 중지에 대해.

  3. 백업에서 복원하는 경우 이전의 이름을 바꾸거나 삭제하십시오 설치 디렉토리. 이름을 바꾸는 것이 좋습니다 디렉토리를 삭제하는 대신 디렉토리 문제가 발생하고 복귀해야합니다. 명심하십시오 디렉토리는 상당한 디스크 공간을 소비 할 수 있습니다. 이름을 바꾸려면 디렉토리, 다음과 같은 명령을 사용합니다.

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

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

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

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

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

  7. Special을 사용하여 데이터베이스 서버를 시작하십시오 데이터베이스 사용자 계정 :

    /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.1 : 토토 꽁 머니모듈 허용 하나의 전공에서 내에서 마이그레이션 할 설치롤 토토버전 다음. 업그레이드는 몇 분 안에 수행 할 수 있습니다.

특정 복제 방법을 사용할 수도 있습니다. 처럼Slony, 대기를 만들려면 업데이트 된 버전의 서버롤 토토. 슬론이기 때문에 가능합니다 서로 다른 주요 버전의 복제를 지원합니다롤 토토. 대기는 될 수 있습니다 동일한 컴퓨터 또는 다른 컴퓨터에서. 일단 마스터 서버와 동기화되었습니다 (이전 버전 실행롤 토토), 전환 할 수 있습니다 마스터를 마스터로 만들고 나이를 닫으십시오. 데이터베이스 인스턴스. 이러한 전환은 몇 가지만 초래합니다 업그레이드를위한 다운 타임 초.