| 롤 토토 9.1.24 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.1 : 서버 토토 핫 | 위로 | 17장. 서버 설정 및 운영 | 다음 | |
이 섹션에서는 다음에서 데이터베이스 데이터를 업그레이드하는 방법에 대해 설명합니다. 하나포스트그레SQL다음으로 릴리스 최신 것입니다.
포스트그레SQL주요 버전은 버전 번호의 처음 두 자리 그룹으로 표시됩니다. 예: 8.4.포스트그레SQL미성년자 버전은 버전 숫자의 세 번째 그룹으로 표시됩니다. 예를 들어 8.4.2는 8.4의 두 번째 마이너 릴리스입니다. 마이너 릴리스 내부 저장 형식을 절대 변경하지 않으며 항상 동일한 버전의 이전 및 이후 마이너 릴리스와 호환 가능 주요 버전 번호(예: 8.4.2는 8.4, 8.4.1과 호환됨) 그리고 8.4.6. 호환되는 버전 간에 업데이트하려면 간단히 서버가 다운된 동안 실행 파일을 교체하고 다시 시작합니다. 서버. 데이터 디렉토리는 변경되지 않은 상태로 유지됩니다. 사소한 업그레이드는 간단해요.
용전공출시 의롤 토토, 내부 데이터 저장 형식은 변경될 수 있으므로 업그레이드가 복잡해집니다. 데이터를 새로운 주요 버전으로 이동하는 전통적인 방법은 다음과 같습니다. 데이터베이스를 덤프하고 다시 로드합니다. 다음과 같은 다른 방법도 가능합니다. 아래에서 논의됩니다.
새로운 주요 버전은 일반적으로 사용자에게 표시되는 일부 기능을 도입합니다. 비호환성으로 인해 응용 프로그램 프로그래밍이 변경될 수 있습니다. 필수. 사용자에게 표시되는 모든 변경 사항이 릴리스에 나열됩니다. 메모(PostgreSQL : 문서 : 9.1 : 무지개 토토 노트); 특별한 비용을 지불하다 "마이그레이션" 섹션을 주의 깊게 살펴보세요. 만약 당신이 여러 주요 버전에 걸쳐 업그레이드하려면 다음 내용을 꼭 읽어보세요. 각 중간 버전에 대한 릴리스 노트.
조심스러운 사용자는 자신의 클라이언트 응용프로그램을 테스트하고 싶어할 것입니다. 완전히 전환하기 전에 새 버전을 사용하세요. 그러므로 그것은 종종 이전 버전과 기존 버전을 동시에 설치하는 것이 좋습니다. 새로운 버전. 테스트할 때롤 토토대규모 업그레이드, 다음 사항을 고려하세요. 가능한 변경 카테고리는 다음과 같습니다.
관리자가 모니터링할 수 있는 기능 서버를 자주 변경하고 개선하는 것을 제어합니다. 주요 릴리스입니다.
일반적으로 여기에는 새로운 SQL 명령 기능과 특별히 언급되지 않는 한 행동에는 변화가 없습니다. 릴리스 노트.
일반적으로 다음과 같은 라이브러리libpq새로운 기능만 추가하고, 릴리스 노트에 언급되지 않는 한 다시 한번 말하겠습니다.
시스템 카탈로그 변경은 일반적으로 데이터베이스에만 영향을 미칩니다 관리 도구입니다.
여기에는 백엔드 함수 API의 변경이 포함됩니다. C 프로그래밍 언어로 작성되었습니다. 그러한 변화 내부 깊은 곳에서 백엔드 함수를 참조하는 코드에 영향을 미칩니다. 서버.
하나의 주요 버전에서 데이터를 덤프하려면롤 토토그리고 다른 것으로 다시 로드하세요. 사용해야 합니다pg_dump; 파일 시스템 레벨 백업 방법은 작동하지 않습니다. (체크가 되어있습니다. 다음과 같은 데이터 디렉토리를 사용하는 것을 방지합니다. 호환되지 않는 버전롤 토토그러니 큰 해를 끼칠 수는 없습니다. 데이터에서 잘못된 서버 버전을 시작하려고 시도하여 디렉토리.)
다음을 사용하는 것이 좋습니다.pg_dump그리고pg_dumpall최신 버전의 프로그램 의포스트그레SQL, 취하다 이러한 개선 사항의 이점 프로그램. 덤프 프로그램의 현재 릴리스는 데이터를 읽을 수 있습니다. 모든 서버 버전에서 7.0으로 돌아갑니다.
이 지침에서는 기존 설치가 다음과 같다고 가정합니다. 아래에/usr/local/pgsql디렉토리, 데이터 영역은/usr/local/pgsql/data. 경로를 대체하세요 적절하게.
백업을 하는 경우 데이터베이스가 업데이트되지 않습니다. 이는 무결성에 영향을 미치지 않습니다. 백업하지만 변경된 데이터는 물론 그렇지 않습니다. 포함됩니다. 필요한 경우 파일의 권한을 편집하세요./usr/local/pgsql/data/pg_hba.conf(또는 이에 상응) 귀하를 제외한 모든 사람의 액세스를 허용하지 않습니다. 참조토토 핫 : 문서 : 9.1 : 클라이언트 인증접근 제어에 대한 추가 정보를 확인하세요.
데이터베이스 설치를 백업하려면 다음을 입력하십시오:
pg_dumpall 출력파일
OID를 보존해야 하는 경우(예: OID 사용 시) 외래 키로), 다음을 사용하십시오.-o실행 시 옵션pg_dumpall.
백업을 만들려면 다음을 사용할 수 있습니다.pg_dumpall버전의 명령 당신은 현재 달리고 있습니다. 그러나 최상의 결과를 얻으려면 다음을 시도해 보십시오. 사용하려면pg_dumpall명령롤 토토9.1.24, 이 버전에는 버그 수정 사항이 포함되어 있으므로 이전 버전에 비해 개선되었습니다. 이 조언이 새 버전을 설치하지 않았기 때문에 특이한 것 같습니다. 버전이 아직 남아 있으므로 계획하고 있다면 따라하는 것이 좋습니다. 이전 버전과 동시에 새 버전을 설치합니다. 이 경우 정상적으로 설치를 완료할 수 있습니다. 나중에 데이터를 전송하세요. 이는 또한 다운타임.
기존 서버를 종료하세요:
pg_ctl 중지
다음을 갖춘 시스템에서롤 토토부팅 시 시작되었으며, 아마도 다음을 수행할 시작 파일이 있을 것입니다. 같은 것. 예를 들어, a레드햇 리눅스시스템이 찾을 수도 있습니다 이것이 효과가 있다는 것입니다:
/etc/rc.d/init.d/롤 토토 중지
참조토토 사이트 추천 : 문서 : 9.1 : 서버 토토 사이트 추천 및 작동자세한 내용은 서버 시작 및 중지에 대해 설명합니다.
백업에서 복원하는 경우 이전 이름을 바꾸거나 삭제하십시오. 설치 디렉토리. 이름을 바꾸는 것이 좋습니다. 디렉토리가 있는 경우에는 삭제하지 말고 문제가 발생하고 다시 돌아가야 합니다. 명심하세요 디렉토리는 상당한 디스크 공간을 소비할 수 있습니다. 이름을 바꾸려면 디렉토리에 대해 다음과 같은 명령을 사용하십시오.
mv /usr/local/pgsql /usr/local/pgsql.old
(디렉토리를 단일 단위로 이동해야 하므로 상대 경로는 변경되지 않습니다.)
새 버전 설치롤 토토설명된 대로섹션 15.4.
필요한 경우 새 데이터베이스 클러스터를 생성하십시오. 기억해 다음 명령은 로그인된 상태에서 실행해야 합니다. 특수 데이터베이스 사용자 계정(이미 가지고 있는 경우) 업그레이드 중입니다).
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
이전 항목 복원pg_hba.conf그리고 무엇이든롤 토토.conf수정.
특수 명령어를 사용하여 데이터베이스 서버를 다시 시작하십시오. 데이터베이스 사용자 계정:
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
마지막으로 다음을 사용하여 백업에서 데이터를 복원하세요.
/usr/local/pgsql/bin/psql -d postgres -f출력파일
다음을 사용하여신규 psql.
새 제품을 설치하면 가동 중지 시간을 최소화할 수 있습니다. 서버를 다른 디렉터리에 두고 이전 디렉터리와 디렉터리를 모두 실행 중입니다. 다른 포트에 병렬로 새 서버를 설치합니다. 그러면 당신은 할 수 있습니다 다음과 같은 것을 사용하세요:
pg_dumpall -p 5432 | psql -d postgres -p 5433
데이터를 전송하기 위해.
그PostgreSQL : 문서 : 9.1 : 토토 꽁 머니모듈은 다음을 허용합니다. 하나의 주요 위치에서 마이그레이션되는 설치롤 토토버전으로 다음. 업그레이드는 몇 분 안에 완료될 수 있습니다.
다음과 같은 특정 복제 방법을 사용할 수도 있습니다. 와 같이슬로니, 대기를 생성하려면 업데이트된 버전의 서버포스트그레SQL. 슬로니라서 가능한 일이다 서로 다른 주요 버전 간의 복제를 지원합니다.포스트그레SQL. 대기는 다음과 같습니다. 같은 컴퓨터에서든 다른 컴퓨터에서든. 일단 그것이 마스터 서버와 동기화됨(이전 버전 실행 중)포스트그레SQL), 전환할 수 있습니다. 마스터하고 대기를 마스터로 만들고 이전 것을 종료합니다. 데이터베이스 인스턴스. 이러한 전환으로 인해 몇 가지 결과만 발생합니다. 업그레이드를 위한 가동 중지 시간(초).