롤 토토 9.1.24 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.1 : 서버 토토 핫 | up | 17 장. 서버 설정 및 작동 | 다음 |
이 섹션에서 데이터베이스 데이터를 업그레이드하는 방법에 대해 설명합니다. 하나롤 토토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 명령 기능이 포함됩니다 구체적으로 언급되지 않는 한 행동의 변화가 아닙니다 릴리스 노트.
일반적으로 라이브러리와 같은libpq새로운 기능 만 추가하십시오. 릴리스 노트에 언급되지 않는 한 다시.
시스템 카탈로그 변경은 일반적으로 데이터베이스에만 영향을 미칩니다 관리 도구.
여기에는 백엔드 기능 API의 변경 사항이 포함됩니다 C 프로그래밍 언어로 작성되었습니다. 그러한 변화 백엔드가 내부에서 기능하는 기능을 참조하는 코드에 영향을 미칩니다 서버.
하나의 주요 버전에서 데이터를 덤프하려면롤 토토다른 사람에게 다시로드하십시오 사용해야pg_dump; 파일 시스템 레벨 백업 방법은 작동하지 않습니다. (수표가 있습니다 데이터 디렉토리를 사용하지 못하게합니다. 호환되지 않는롤 토토, 따라서 큰 피해를 입을 수 없습니다 데이터에서 잘못된 서버 버전을 시작하려고합니다. 예배 규칙서.)
사용하는 것이 좋습니다pg_dumpandpg_dumpall최신 버전의 프로그램 의롤 토토이들에서 만들어 졌을 수있는 향상의 장점 프로그램. 덤프 프로그램의 현재 릴리스는 데이터를 읽을 수 있습니다 모든 서버 버전에서 7.0으로.
이 지침은 기존 설치가 있다고 가정합니다 아래/usr/local/pgsql디렉토리, 그리고 데이터 영역이/usr/local/pgsql/data. 당신의 길을 대체하십시오 적절하게.
백업을하는 경우 데이터베이스가 업데이트되지 않습니다. 이것은 무결성에 영향을 미치지 않습니다 백업이지만 변경된 데이터는 물론 포함. 필요한 경우 파일의 권한을 편집/usr/local/pgsql/data/pg_hba.conf(또는 동등한) 당신을 제외한 모든 사람의 접근을 허용하지 않습니다. 보다토토 핫 : 문서 : 9.1 : 클라이언트 인증액세스 제어에 대한 추가 정보.
데이터베이스 설치를 백업하려면 다음 유형 :
pg_dumpalloutputfile
OID를 보존 해야하는 경우 (예 : 외국 키로), 사용-o실행할 때의 옵션pg_dumpall.
백업을 만들려면를 사용할 수 있습니다.pg_dumpall버전에서 명령 당신은 현재 실행 중입니다. 그러나 최상의 결과를 얻으려면 시도하십시오 사용하려면pg_dumpall명령롤 토토9.1.24,이 버전에는 버그 수정이 포함되어 있기 때문입니다 이전 버전보다 개선. 이 조언은 할 수 있습니다 새로 설치하지 않았기 때문에 특유의 것 같습니다 그러나 버전은 계획을 세우는 것이 좋습니다. 이전 버전과 병렬로 새 버전을 설치하십시오. 이 경우 설치를 정상적으로 완료 할 수 있습니다 나중에 데이터를 전송합니다. 이것은 또한 감소 할 것입니다 중단 시간.
기존 서버를 종료 :
pg_ctl 정지
롤 토토부팅 시간에 시작하여 아마도 시작 파일이있을 것입니다 같은 것. 예를 들어에서Red Hat Linux시스템을 찾을 수 있습니다 이게 작동한다 :
/etc/rc.d/init.d/롤 토토 stop
참조토토 사이트 추천 : 문서 : 9.1 : 서버 토토 사이트 추천 및 작동자세한 내용 서버 시작 및 중지에 대해.
백업에서 복원하는 경우 이전의 이름을 바꾸거나 삭제하십시오 설치 디렉토리. 이름을 바꾸는 것이 좋습니다 디렉토리를 삭제하는 대신 디렉토리 문제가 발생하고 복귀해야합니다. 명심하십시오 디렉토리는 상당한 디스크 공간을 소비 할 수 있습니다. 이름을 바꾸려면 디렉토리, 다음과 같은 명령을 사용합니다.
mv/usr/local/pgsql /usr/local/pgsql.old
(디렉토리를 단일 장치로 이동하십시오. 상대 경로는 변하지 않습니다.)
새 버전 설치롤 토토요약 된대로섹션 15.4.
필요한 경우 새 데이터베이스 클러스터를 만듭니다. 기억하십시오 로그인 하면서이 명령을 실행해야합니다. 특수 데이터베이스 사용자 계정 (이미 IF가 있습니다 당신은 업그레이드 중입니다).
/usr/local/pgsql/bin/initdb -d/usr/local/pgsql/data
이전 복원pg_hba.conf및 any롤 토토.conf수정.
Special을 사용하여 데이터베이스 서버를 시작하십시오 데이터베이스 사용자 계정 :
/usr/local/pgsql/bin/postgres -d/usr/local/pgsql/data
마지막으로 : 백업에서 데이터를 복원하십시오.
/usr/local/pgsql/bin/psql -d postgres -foutputfile
사용NEW PSQL.
새를 설치하여 최소한의 다운 타임을 달성 할 수 있습니다. 다른 디렉토리의 서버와 기존과 실행을 실행합니다. 새로운 서버는 다른 포트에서 병렬로. 그럼 당신은 할 수 있습니다 다음과 같은 것을 사용하십시오 :
PG_DUMPALL -P 5432 | PSQL -D Postgres -P 5433
데이터를 전송하려면
thePostgreSQL : 문서 : 9.1 : 토토 꽁 머니모듈 허용 하나의 전공에서 내에서 마이그레이션 할 설치롤 토토버전 다음. 업그레이드는 몇 분 안에 수행 할 수 있습니다.
특정 복제 방법을 사용할 수도 있습니다. 처럼Slony, 대기를 만들려면 업데이트 된 버전의 서버롤 토토. 슬론이기 때문에 가능합니다 서로 다른 주요 버전의 복제를 지원합니다롤 토토. 대기는 될 수 있습니다 동일한 컴퓨터 또는 다른 컴퓨터에서. 일단 마스터 서버와 동기화되었습니다 (이전 버전 실행롤 토토), 전환 할 수 있습니다 마스터를 마스터로 만들고 나이를 닫으십시오. 데이터베이스 인스턴스. 이러한 전환은 몇 가지만 초래합니다 업그레이드를위한 다운 타임 초.