18.6. a 토토 핫PostgreSQL클러스터#

이 섹션에서 데이터베이스 데이터를 하나에서 토토 핫하는 방법에 대해 설명합니다PostgreSQL새로운 것을 릴리스합니다.

현재PostgreSQL버전 번호는 전공 및 사소한 버전 번호로 구성됩니다. 예를 들어, 버전 번호 10.1에서 10은 주요 버전 번호이고 1은 작은 버전 번호입니다. 즉, 이는 이전 릴리스 10의 첫 번째 작은 릴리스입니다.PostgreSQL버전 10.0, 버전 번호는 예를 들어 9.5.3과 같은 3 개의 숫자로 구성됩니다. 이 경우 주요 버전은 버전 번호의 첫 두 자리 그룹 (예 : 9.5)으로 구성되며 마이너 버전은 세 번째 숫자 (예 : 3)입니다.

사소한 릴리스는 내부 스토리지 형식을 변경하지 않으며 항상 동일한 주요 버전 번호의 이전 및 이후의 작은 릴리스와 항상 호환됩니다. 예를 들어, 버전 10.1은 버전 10.0 및 버전 10.6과 호환됩니다.

for전공릴리스PostgreSQL, 내부 데이터 저장 형식은 변경 될 수 있으므로 토토 핫가 복잡해집니다. 데이터를 새로운 주요 버전으로 이동시키는 전통적인 방법은 데이터베이스를 덤프하고 복원하는 것이지만 느리게 할 수 있습니다.pg_upgrade. 아래에 설명 된대로 복제 방법도 사용할 수 있습니다.PostgreSQL, 주요 버전 업그레이드를 지원하는 스크립트를 제공 할 수 있습니다. 자세한 내용은 패키지 수준 문서를 참조하십시오.)

새로운 주요 버전은 일반적으로 일부 사용자가 가시 불가능한 비 호환성을 소개하므로 응용 프로그램 프로그래밍 변경이 필요할 수 있습니다. 모든 사용자가 가시 가능한 변경 사항은 릴리스 노트 (에 나열되어 있습니다.PostgreSQL : 문서 : 17 : 부록 E. 토토 결과 노트); "마이그레이션"이라는 섹션에 특히주의하십시오.

신중한 사용자는 완전히 전환하기 전에 새 버전에서 클라이언트 응용 프로그램을 테스트하려고합니다. 따라서 기존 버전과 새로운 버전의 동시 설치를 설정하는 것이 좋습니다.PostgreSQL주요 토토 핫, 가능한 변경 범주를 고려하십시오.

관리

관리자가 서버를 모니터링하고 제어 할 수있는 기능은 각 주요 릴리스에서 종종 변경되고 개선됩니다.

SQL

일반적으로 릴리스 노트에 구체적으로 언급되지 않는 한 새로운 SQL 명령 기능이 포함되며 동작 변경이 포함됩니다.

도서관 API

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

시스템 카탈로그

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

서버 C- 언어 API

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

18.6.1. 를 통해 데이터 토토 핫pg_dumpall #

하나의 토토 핫 방법은 하나의 주요 버전에서 데이터를 덤프하는 것입니다.PostgreSQL다른 사람으로 복원하십시오 - 이렇게하려면 A를 사용해야합니다.논리백업 도구와 같은pg_dumpall; 파일 시스템 수준 백업 방법은 작동하지 않습니다.PostgreSQL, 데이터 디렉토리에서 잘못된 서버 버전을 시작하려고 시도하여 큰 피해를 줄 수 없습니다.)

사용하는 것이 좋습니다pg_dumpandpg_dumpall프로그램최신버전PostgreSQL,이 프로그램에서 만들어 질 수있는 개선 사항을 활용합니다. 덤프 프로그램의 현재 릴리스는 모든 서버 버전에서 9.2로 다시 데이터를 읽을 수 있습니다.

이 지침은 기존 설치가 |/usr/local/pgsql디렉토리 및 데이터 영역이/usr/local/pgsql/data. 길을 적절하게 대체하십시오.

  1. 백업을하는 경우 데이터베이스가 업데이트되지 않았는지 확인하십시오. 이것은 백업의 무결성에 영향을 미치지 않지만 변경된 데이터는 포함되지 않습니다./usr/local/pgsql/data/pg_hba.conf(또는 이와 동등한) 당신을 제외한 모든 사람의 접근을 허용하지 않습니다. 보다토토 꽁 머니 : 문서 : 17 : CHAPTER 20. 클라이언트 인증액세스 제어에 대한 추가 정보.

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

    pg_dumpall>outputfile
    

    백업을 만들려면를 사용할 수 있습니다.pg_dumpall현재 실행중인 버전에서 명령; 보다섹션 25.1.2자세한 내용은. 그러나 최상의 결과를 얻으려면를 사용해보십시오.pg_dumpall명령PostgreSQL17.4,이 버전에는 이전 버전에 비해 버그 수정 및 개선이 포함되어 있으므로. 새 버전을 아직 설치하지 않았기 때문에이 조언은 특유의 것처럼 보일 수 있지만 이전 버전과 병렬로 새 버전을 설치하려는 경우 따라야합니다.

  2. 기존 서버를 종료 :

    PG_CTL STOP
    

    PostgreSQL부팅 시간에 시작하여 같은 것을 달성 할 시작 파일이있을 수 있습니다. 예를 들어에서Red Hat Linux시스템은 이것이 작동한다는 것을 알 수 있습니다 :

    /etc/rc.d/init.d/postgresql stop
    

    참조토토 사이트 순위 : 문서 : 17 : 18 장 서버 설정 및 작동서버 시작 및 중지에 대한 자세한 내용.

  3. 백업에서 복원하는 경우 기존 설치 디렉토리의 이름을 바꾸거나 삭제하는 경우 버전 별이 아닌 경우 기존 설치 디렉토리를 바꿉니다. 디렉토리를 삭제하지 않고 디렉토리의 이름을 바꾸는 것이 좋습니다.

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

    (디렉토리를 단일 장치로 이동하여 상대 경로가 변경되지 않은 상태로 유지하십시오.)

  4. 새 버전 설치PostgreSQL요약 된대로토토 핫 : 문서 : 17 : 17 장. 소스 코드에서 설치.

  5. 필요한 경우 새 데이터베이스 클러스터를 만듭니다. 특수 데이터베이스 사용자 계정에 로그인 한 상태에서 이러한 명령을 실행해야합니다 (업그레이드중인 경우 이미 가지고 있음)

    /usr/local/pgsql/bin/initdb -d/usr/local/pgsql/data
    
  6. 이전 복원pg_hba.conf및 anypostgresql.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

데이터를 전송하려면

18.6.2. 를 통해 데이터 토토 핫pg_upgrade #

thepg_upgrade모듈은 하나의 전공에서 설치를 마이그레이션 할 수 있습니다PostgreSQL다른 버전. 업그레이드는 몇 분 안에 수행 할 수 있습니다. 특히-link모드. 와 비슷한 단계가 필요합니다.pg_dumpall위, 예를 들어, 서버 시작/중지, 실행initdb. 그만큼pg_upgrade PostgreSQL : 문서 : 17 : 토토 베이필요한 단계를 간략하게 설명합니다.

18.6.3. 복제를 통한 데이터 토토 핫#

논리적 복제 방법을 사용하여 업데이트 된 버전의 대기 서버를 만들 수도 있습니다.PostgreSQL. 논리적 복제가 다른 주요 버전의 복제를 지원하기 때문에 가능합니다.PostgreSQL. 대기는 동일한 컴퓨터 나 다른 컴퓨터에있을 수 있습니다.PostgreSQL), 원시를 전환하고 대기를 기본으로 만들고 이전 데이터베이스 인스턴스를 종료 할 수 있습니다. 이러한 전환은 업그레이드를 위해 몇 초 만에 다운 타임을 만듭니다.

이 업그레이드 방법은 내장 논리 복제 시설을 사용하여 수행 할 수 있으며과 같은 외부 논리 복제 시스템을 사용하여 수행 할 수 있습니다.pglogical, Slony, LondisteBucardo.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면