18.6. 토토 핫 중포스트그레SQL클러스터#

이 섹션에서는 데이터베이스 데이터를 토토 핫하는 방법에 대해 설명합니다.PostgreSQL최신 버전으로 출시하세요.

현재포스트그레SQL버전 번호는 주 버전 번호와 부 버전 번호로 구성됩니다. 예를 들어 버전 번호 10.1에서 10은 주 버전 번호이고 1은 부 버전 번호입니다. 즉, 이는 주 릴리스 10의 첫 번째 부 릴리스가 됩니다. 이전 릴리스의 경우PostgreSQL버전 10.0의 경우 버전 번호는 세 개의 숫자로 구성됩니다(예: 9.5.3). 이 경우 메이저 버전은 버전 번호의 처음 두 자리 그룹(예: 9.5)으로 구성되고 마이너 버전은 세 번째 숫자(예: 3)입니다. 이는 이것이 메이저 릴리스 9.5의 세 번째 마이너 릴리스임을 의미합니다.

부 릴리스는 내부 저장 형식을 변경하지 않으며 항상 동일한 주요 버전 번호의 이전 및 이후 부 릴리스와 호환됩니다. 예를 들어 버전 10.1은 버전 10.0 및 버전 10.6과 호환됩니다. 마찬가지로, 예를 들어 9.5.3은 9.5.0, 9.5.1 및 9.5.6과 호환됩니다. 호환되는 버전 간에 업데이트하려면 서버가 다운된 동안 실행 파일을 교체하고 서버를 다시 시작하면 됩니다. 데이터 디렉터리는 변경되지 않은 상태로 유지됩니다. 사소한 업그레이드도 매우 간단합니다.

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

새로운 주요 버전에서는 일반적으로 사용자가 볼 수 있는 일부 비호환성이 발생하므로 응용프로그램 프로그래밍 변경이 필요할 수 있습니다. 사용자에게 표시되는 모든 변경 사항은 출시 노트(PostgreSQL : 문서 : 17 : 부록 E. 토토 결과 노트); "마이그레이션" 섹션에 특히 주의하세요. 중간 버전으로 토토 핫하지 않고도 한 주요 버전에서 다른 주요 버전으로 토토 핫할 수 있지만 모든 중간 버전의 주요 릴리스 노트를 읽어야 합니다.

조심스러운 사용자는 완전히 전환하기 전에 새 버전에서 클라이언트 응용 프로그램을 테스트하고 싶어할 것입니다. 따라서 이전 버전과 새 버전을 동시에 설치하도록 설정하는 것이 좋은 경우가 많습니다. 테스트할 때포스트그레SQL주요 업그레이드, 가능한 변경 사항에 대해 다음 범주를 고려하세요.

관리

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

SQL

일반적으로 여기에는 새로운 SQL 명령 기능이 포함되며 출시 노트에 특별히 언급되지 않는 한 동작의 변경 사항은 포함되지 않습니다.

라이브러리 API

일반적으로 다음과 같은 라이브러리libpq출시 노트에 언급되지 않은 한 다시 새로운 기능만 추가하세요.

시스템 카탈로그

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

서버 C 언어 API

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

18.6.1. 다음을 통해 데이터 업그레이드pg_dumpall #

한 가지 토토 핫 방법은 하나의 주요 버전에서 데이터를 덤프하는 것입니다.포스트그레SQL그리고 다른 곳에서 복원하세요. 이렇게 하려면 다음을 사용해야 합니다.논리적백업 도구는 다음과 같습니다.pg_dumpall; 파일 시스템 수준 백업 방법은 작동하지 않습니다. (호환되지 않는 버전의 데이터 디렉토리를 사용하지 못하도록 하는 검사가 있습니다.PostgreSQL, 따라서 데이터 디렉터리에서 잘못된 서버 버전을 시작하려고 해도 큰 해를 끼칠 수 없습니다.)

다음을 사용하는 것이 좋습니다.pg_dump그리고pg_dumpall프로그램최신버전PostgreSQL, 이러한 프로그램의 향상된 기능을 활용합니다. 덤프 프로그램의 현재 릴리스는 모든 서버 버전에서 9.2까지 데이터를 읽을 수 있습니다.

이 지침에서는 기존 설치가 다음 아래에 있다고 가정합니다./usr/local/pgsql디렉토리이며 데이터 영역은/usr/local/pgsql/data. 경로를 적절하게 대체하십시오.

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

    데이터베이스 설치를 백업하려면 다음을 입력하십시오:

    pg_dumpall 출력파일
    

    백업을 만들려면 다음을 사용할 수 있습니다.pg_dumpall현재 실행 중인 버전의 명령; 보다섹션 25.1.2자세한 내용을 확인하세요. 그러나 최상의 결과를 얻으려면pg_dumpall명령PostgreSQL18.0, 이 버전에는 버그 수정 및 이전 버전에 대한 개선 사항이 포함되어 있습니다. 아직 새 버전을 설치하지 않았기 때문에 이 조언이 이상해 보일 수 있지만, 이전 버전과 동시에 새 버전을 설치할 계획이라면 이를 따르는 것이 좋습니다. 이 경우 정상적으로 설치를 완료하고 나중에 데이터를 전송할 수 있습니다. 이렇게 하면 가동 중지 시간도 줄어듭니다.

  2. 기존 서버를 종료하세요:

    pg_ctl 중지
    

    다음을 갖춘 시스템에서PostgreSQL부팅 시 시작되었습니다. 아마도 동일한 작업을 수행하는 시작 파일이 있을 것입니다. 예를 들어, a레드햇 리눅스시스템 1에서는 이것이 작동한다는 것을 알 수 있습니다:

    /etc/rc.d/init.d/postgresql 중지
    

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

  3. 백업에서 복원하는 경우 특정 버전이 아닌 경우 이전 설치 디렉토리의 이름을 바꾸거나 삭제하십시오. 문제가 발생하여 되돌려야 할 경우를 대비하여 디렉터리를 삭제하기보다는 디렉터리 이름을 바꾸는 것이 좋습니다. 디렉토리는 상당한 디스크 공간을 소비할 수 있다는 점을 명심하십시오. 디렉터리 이름을 바꾸려면 다음과 같은 명령을 사용하세요.

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

    (상대 경로가 변경되지 않도록 디렉터리를 단일 단위로 이동해야 합니다.)

  4. 새 버전 설치포스트그레SQL설명된 대로토토 핫 : 문서 : 17 : 17 장. 소스 코드에서 설치.

  5. 필요한 경우 새 데이터베이스 클러스터를 생성하십시오. 특수 데이터베이스 사용자 계정(업그레이드하는 경우 이미 가지고 있음)에 로그인한 동안 이러한 명령을 실행해야 한다는 점을 기억하세요.

    /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
    
  6. 이전 항목 복원pg_hba.conf그리고 무엇이든postgresql.conf수정.

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

    /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
    
  8. 마지막으로 다음을 사용하여 백업에서 데이터를 복원하십시오.

    /usr/local/pgsql/bin/psql -d postgres -f출력파일
    

    다음을 사용하여신규 psql.

새 서버를 다른 디렉토리에 설치하고 이전 서버와 새 서버를 서로 다른 포트에서 병렬로 실행하면 가동 중지 시간을 최소화할 수 있습니다. 그런 다음 다음과 같은 것을 사용할 수 있습니다:

pg_dumpall -p 5432 | psql -d postgres -p 5433

귀하의 데이터를 전송합니다.

18.6.2. 다음을 통해 데이터 업그레이드pg_upgrade #

pg_upgrade모듈을 사용하면 설치를 하나의 주요 위치에서 마이그레이션할 수 있습니다.포스트그레SQL버전을 다른 버전으로 변경했습니다. 업그레이드는 특히 다음을 사용하여 몇 분 안에 수행할 수 있습니다.--링크모드. 다음과 유사한 단계가 필요합니다.pg_dumpall위, 예: 서버 시작/중지, 실행initdb. 그만큼pg_upgrade PostgreSQL : 문서 : 17 : 토토 베이필요한 단계를 설명합니다.

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

논리적 복제 방법을 사용하여 업데이트된 버전의 대기 서버를 생성하는 것도 가능합니다.PostgreSQL. 이는 논리적 복제가 서로 다른 주요 버전 간의 복제를 지원하기 때문에 가능합니다.PostgreSQL. 대기 컴퓨터는 동일한 컴퓨터에 있을 수도 있고 다른 컴퓨터에 있을 수도 있습니다. 기본 서버와 동기화되면(이전 버전 실행)포스트그레SQL), 기본을 전환하고 대기를 기본으로 만들고 이전 데이터베이스 인스턴스를 종료할 수 있습니다. 이러한 전환으로 인해 업그레이드가 중단되는 시간은 몇 초에 불과합니다.

이 업그레이드 방법은 내장된 논리적 복제 기능뿐만 아니라 다음과 같은 외부 논리적 복제 시스템을 사용하여 수행할 수 있습니다.pglogical, 슬로니, 론디스트부카르도.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 ​​양식문서 문제를 보고합니다.