스포츠 토토 — 업그레이드 a포스트그레SQL서버 인스턴스
스포츠 토토 -b oldbindir [-B newbindir] -d oldconfigdir -D newconfigdir [옵션...]
스포츠 토토(이전 명칭pg_migrator)은에 저장된 데이터를 허용합니다.포스트그레SQL나중에 업그레이드할 데이터 파일포스트그레SQL주 버전 업그레이드(예: 12.14에서 13.10으로 또는 14.9에서 15.5로)에 일반적으로 필요한 데이터 덤프/복원이 없는 주 버전입니다. 마이너 버전 업그레이드(예: 12.7에서 12.8로 또는 14.1에서 14.5로)에는 필요하지 않습니다.
주요 PostgreSQL 릴리스에는 시스템 테이블의 레이아웃을 자주 변경하는 새로운 기능이 정기적으로 추가되지만 내부 데이터 저장 형식은 거의 변경되지 않습니다.스포츠 토토이 사실을 사용하여 새 시스템 테이블을 생성하고 이전 사용자 데이터 파일을 재사용함으로써 신속한 업그레이드를 수행합니다. 향후 주요 릴리스에서 이전 데이터 형식을 읽을 수 없게 만드는 방식으로 데이터 저장 형식을 변경하는 경우,스포츠 토토그러한 업그레이드에는 사용할 수 없습니다. (커뮤니티에서는 이러한 상황을 피하기 위해 노력할 것입니다.)
스포츠 토토예를 들어 32/64비트 바이너리를 포함하여 호환 가능한 컴파일 시간 설정을 확인하여 이전 클러스터와 새 클러스터가 바이너리 호환되는지 확인하기 위해 최선을 다합니다. 외부 모듈도 바이너리와 호환되는 것이 중요하지만 이는 확인할 수 없습니다.스포츠 토토.
스포츠 토토는 9.2.X 이상에서 현재 주요 릴리스로의 업그레이드를 지원합니다.PostgreSQL, 스냅샷 및 베타 릴리스 포함.
클러스터를 업그레이드하면 대상이 소스 수퍼유저가 선택한 임의의 코드를 실행하게 됩니다. 업그레이드하기 전에 소스 수퍼유저를 신뢰할 수 있는지 확인하세요.
스포츠 토토다음 명령줄 인수를 허용합니다:
-b bindir--old-bindir=bindir이전 PostgreSQL 실행 가능 디렉토리; 환경 변수PGBINOLD
-B bindir--new-bindir=bindir새로운 PostgreSQL 실행 가능 디렉토리; 기본값은스포츠 토토거주; 환경 변수PGBINNEW
-c--확인클러스터만 확인하고 데이터는 변경하지 마세요.
-d configdir--old-datadir=configdir이전 데이터베이스 클러스터 구성 디렉토리; 환경 변수PGDATAOLD
-D configdir--new-datadir=configdir새 데이터베이스 클러스터 구성 디렉토리; 환경 변수PGDATANEW
-jnjobs--작업=njobs사용할 동시 프로세스 또는 스레드 수
-k--링크새 클러스터에 파일을 복사하는 대신 하드 링크 사용
-N--동기화 없음기본적으로,스포츠 토토업그레이드된 클러스터의 모든 파일이 디스크에 안전하게 기록될 때까지 기다립니다. 이 옵션으로 인해스포츠 토토기다리지 않고 반환하는 것이 더 빠르지만 후속 운영 체제 충돌로 인해 데이터 디렉토리가 손상될 수 있음을 의미합니다. 일반적으로 이 옵션은 테스트에 유용하지만 프로덕션 설치에는 사용하면 안 됩니다.
-o 옵션--이전 옵션 옵션이전 버전으로 직접 전달되는 옵션포스트그레명령; 여러 옵션 호출이 추가됩니다.
-O 옵션--새로운 옵션 옵션새 항목에 직접 전달되는 옵션포스트그레스명령; 여러 옵션 호출이 추가됩니다.
-p 포트--old-port=포트이전 클러스터 포트 번호; 환경 변수PGPORTOLD
-P 포트--새 포트=포트새 클러스터 포트 번호; 환경 변수PGPORTNEW
-r--유지성공적인 완료 후에도 SQL 및 로그 파일 유지
-s dir--socketdir=dir업그레이드 중 포스트마스터 소켓에 사용할 디렉토리; 기본값은 현재 작업 디렉터리입니다. 환경 변수PGSOCKETDIR
-U 사용자 이름--사용자 이름=사용자 이름클러스터의 설치 사용자 이름; 환경 변수PGUSER
-v--상세자세한 내부 로깅 활성화
-V--버전버전 정보를 표시한 후 종료
--클론효율적인 파일 복제 사용(또는라고도 함“재링크”일부 시스템에서는) 파일을 새 클러스터에 복사하는 대신. 이로 인해 데이터 파일이 거의 즉시 복사되어 다음과 같은 속도 이점을 얻을 수 있습니다.-k/--링크이전 클러스터는 그대로 유지하면서.
파일 복제는 일부 운영 체제 및 파일 시스템에서만 지원됩니다. 선택되었지만 지원되지 않는 경우,스포츠 토토실행하면 오류가 발생합니다. 현재는 Btrfs 및 XFS(reflink 지원으로 생성된 파일 시스템)가 있는 Linux(커널 4.5 이상)와 APFS가 있는 macOS에서 지원됩니다.
--복사파일을 새 클러스터에 복사합니다. 이것이 기본값입니다. (또한 참조--링크그리고--클론.)
--복사-파일-범위다음을 사용하세요copy_file_range효율적인 복사를 위한 시스템 호출입니다. 일부 파일 시스템에서는 다음과 유사한 결과가 나타납니다.--클론, 물리적 디스크 블록을 공유하는 반면 다른 블록에서는 여전히 블록을 복사할 수 있지만 최적화된 경로를 통해 수행합니다. 현재 Linux 및 FreeBSD에서 지원됩니다.
--동기화 방법=방법다음으로 설정된 경우fsync(기본값),스포츠 토토은 업그레이드된 클러스터의 데이터 디렉터리에 있는 모든 파일을 반복적으로 열고 동기화합니다. 파일 검색은 WAL 디렉터리 및 구성된 각 테이블스페이스에 대한 심볼릭 링크를 따릅니다.
리눅스의 경우,syncfs19702_19883recovery_init_sync_method사용 시 주의해야 할 사항에 대한 정보syncfs.
다음 경우에는 이 옵션이 적용되지 않습니다.--동기화 없음사용됩니다.
-?--도움말도움말을 표시한 후 종료
다음은 업그레이드를 수행하는 단계입니다.스포츠 토토:
선택적으로 이전 클러스터 이동
버전별 설치 디렉토리를 사용하는 경우, 예:/opt/PostgreSQL/17, 이전 클러스터를 이동할 필요가 없습니다. 그래픽 설치 프로그램은 모두 버전별 설치 디렉터리를 사용합니다.
설치 디렉토리가 특정 버전이 아닌 경우, 예:/usr/local/pgsql, 새 PostgreSQL 설치 디렉토리를 방해하지 않도록 현재 PostgreSQL 설치 디렉토리를 이동해야 합니다.포스트그레SQL설치. 일단 현재포스트그레SQL서버가 종료되었습니다. PostgreSQL 설치 디렉토리의 이름을 바꾸는 것이 안전합니다. 이전 디렉토리가 다음과 같다고 가정합니다./usr/local/pgsql, 다음을 수행할 수 있습니다.
mv /usr/local/pgsql /usr/local/pgsql.old
디렉토리 이름을 바꾸려면.
소스 설치의 경우 새 버전을 빌드하세요.
다음을 사용하여 새로운 PostgreSQL 소스를 구축하세요.구성이전 클러스터와 호환되는 플래그.스포츠 토토확인하겠습니다pg_controldata업그레이드를 시작하기 전에 모든 설정이 호환되는지 확인하세요.
새 PostgreSQL 바이너리 설치
새 서버의 바이너리와 지원 파일을 설치하십시오.스포츠 토토기본 설치에 포함되어 있습니다.
소스 설치의 경우, 사용자 정의 위치에 새 서버를 설치하려면 다음을 사용하십시오.접두사변수:
make prefix=/usr/local/pgsql.new install
새 PostgreSQL 클러스터 초기화
다음을 사용하여 새 클러스터를 초기화합니다.initdb. 다시 말하지만, Compatible을 사용하세요.initdb이전 클러스터와 일치하는 플래그입니다. 많은 사전 구축된 설치 프로그램이 이 단계를 자동으로 수행합니다. 새 클러스터를 시작할 필요가 없습니다.
확장 공유 개체 파일 설치
많은 확장 및 사용자 정의 모듈, 여부기여또는 다른 소스, 공유 객체 파일(또는 DLL) 사용, 예:pgcrypto.so. 이전 클러스터에서 이를 사용한 경우 일반적으로 운영 체제 명령을 통해 새 서버 바이너리와 일치하는 공유 개체 파일을 새 클러스터에 설치해야 합니다. 스키마 정의를 로드하지 마십시오(예:확장 프로그램 생성 pgcrypto, 이는 이전 클러스터에서 복제되기 때문입니다. 확장 업데이트를 사용할 수 있는 경우,스포츠 토토이를 보고하고 나중에 업데이트하기 위해 실행할 수 있는 스크립트를 생성할 것입니다.
사용자 정의 전체 텍스트 검색 파일 복사
이전 클러스터에서 사용자 정의 전체 텍스트 검색 파일(사전, 동의어, 유의어 사전, 중지 단어)을 새 클러스터로 복사합니다.
인증 조정
스포츠 토토이전 서버와 새 서버에 여러 번 연결하므로 인증을 다음으로 설정하는 것이 좋습니다.동료inpg_hba.conf또는 다음을 사용하세요~/.pgpass파일(참조배트맨 토토 : 문서 : 17 : 32.16. 암호 파일).
게시자 업그레이드 준비
스포츠 토토논리적 슬롯을 마이그레이션하려고 시도합니다. 이렇게 하면 새 게시자에서 동일한 논리 슬롯을 수동으로 정의할 필요가 없습니다. 논리적 슬롯 마이그레이션은 이전 클러스터가 버전 17.0 이상인 경우에만 지원됩니다. 버전 17.0 이전 클러스터의 논리적 슬롯은 자동으로 무시됩니다.
게시자 클러스터 업그레이드를 시작하기 전에 다음을 실행하여 구독이 일시적으로 비활성화되었는지 확인하세요.구독 변경 ... 비활성화. 업그레이드 후 구독을 다시 활성화하세요.
다음에는 몇 가지 전제 조건이 있습니다.스포츠 토토논리 슬롯을 업그레이드할 수 있습니다. 이러한 사항이 충족되지 않으면 오류가 보고됩니다.
새 클러스터에는 다음이 있어야 합니다.wal_level으로논리적.
새 클러스터에는 다음이 있어야 합니다.max_replication_slots이전 클러스터에 있는 슬롯 수보다 크거나 같은 값으로 구성되었습니다.
이전 클러스터의 슬롯에서 참조하는 출력 플러그인은 새 PostgreSQL 실행 가능 디렉터리에 설치되어야 합니다.
이전 클러스터는 모든 트랜잭션과 논리적 디코딩 메시지를 구독자에게 복제했습니다.
기존 클러스터의 모든 슬롯을 사용할 수 있어야 합니다. 즉, 해당 슬롯이 없습니다.범퍼카 토토 PostgreSQL : 문서.충돌하는아닙니다사실.
새 클러스터에는 영구 논리적 슬롯이 있어서는 안 됩니다. 즉, 다음 위치에 슬롯이 없어야 합니다.범퍼카 토토 PostgreSQL : 문서.임시is거짓.
구독자 업그레이드 준비
설정구독자 구성새 구독자에서.스포츠 토토에 있는 구독의 테이블 정보를 포함하는 구독 종속성을 마이그레이션하려고 시도합니다.스포츠 토토 베트맨 : 문서 : 17시스템 카탈로그 및 구독의 복제 원본. 이를 통해 새 구독자의 논리적 복제가 이전 구독자의 위치에서 계속될 수 있습니다. 구독 종속성 마이그레이션은 이전 클러스터가 버전 17.0 이상인 경우에만 지원됩니다. 버전 17.0 이전의 클러스터에 대한 구독 종속성은 자동으로 무시됩니다.
다음에는 몇 가지 전제 조건이 있습니다.스포츠 토토구독을 업그레이드할 수 있습니다. 이러한 사항이 충족되지 않으면 오류가 보고됩니다.
이전 구독자의 모든 구독 테이블은 상태에 있어야 합니다.i(초기화) 또는r(준비). 이는 확인하여 확인할 수 있습니다.스포츠 토토 베트맨 : 문서 : 17.srsubstate.
각 구독에 해당하는 복제 원본 항목은 이전 클러스터에 존재해야 합니다. 이는 확인하여 찾을 수 있습니다.배트맨 토토 : 문서 : 17그리고토토 사이트 순위 : 문서 : 17 :시스템 테이블.
새 클러스터에는 다음이 있어야 합니다.max_replication_slots이전 클러스터에 있는 구독 수보다 크거나 같은 값으로 구성되었습니다.
두 서버 모두 중지
Unix에서 두 데이터베이스 서버 모두 사용이 중지되었는지 확인하세요. 예:
pg_ctl -D /opt/PostgreSQL/12 중지 pg_ctl -D /opt/PostgreSQL/17 중지
또는 Windows에서는 적절한 서비스 이름을 사용합니다.
NET STOP postgresql-12 NET STOP postgresql-17
스트리밍 복제 및 로그 전달 대기 서버는 이 종료 중에 실행되어 모든 변경 사항을 수신해야 합니다.
대기 서버 업그레이드 준비
섹션에 설명된 방법을 사용하여 대기 서버를 업그레이드하는 경우13단계, 다음을 실행하여 이전 대기 서버가 따라잡았는지 확인하세요.pg_controldata기존 기본 및 대기 클러스터에 대해. 다음을 확인하세요.“최신 체크포인트 위치”값은 모든 클러스터에서 일치합니다. 또한 다음 사항을 확인하세요.wal_level다음으로 설정되지 않았습니다.최소에서postgresql.conf새 기본 클러스터에 파일을 추가합니다.
실행스포츠 토토
항상 다음을 실행하세요스포츠 토토이전 서버가 아닌 새 서버의 바이너리.스포츠 토토이전 및 새 클러스터의 데이터 및 실행 파일 사양이 필요합니다(빈) 디렉토리. 사용자 및 포트 값을 지정하고, 기본 복사 동작 대신 데이터 파일을 연결하거나 복제할지 여부를 지정할 수도 있습니다.
링크 모드를 사용하면 업그레이드가 훨씬 빨라지고(파일 복사 없음) 더 적은 디스크 공간을 사용하지만 업그레이드 후 새 클러스터를 시작하면 이전 클러스터에 액세스할 수 없습니다. 또한 링크 모드에서는 이전 클러스터 데이터 디렉터리와 새 클러스터 데이터 디렉터리가 동일한 파일 시스템에 있어야 합니다. (테이블스페이스 및pg_wal다른 파일 시스템에 있을 수 있습니다.) 복제 모드는 동일한 속도와 디스크 공간 이점을 제공하지만 새 클러스터가 시작된 후에 이전 클러스터를 사용할 수 없게 되는 원인은 아닙니다. 또한 복제 모드에서는 이전 데이터 디렉터리와 새 데이터 디렉터리가 동일한 파일 시스템에 있어야 합니다. 이 모드는 특정 운영 체제 및 파일 시스템에서만 사용할 수 있습니다.
그--작업옵션을 사용하면 여러 CPU 코어를 사용하여 파일을 복사/링크하고 데이터베이스 스키마를 병렬로 덤프 및 복원할 수 있습니다. 시작하기 좋은 곳은 최대 CPU 코어 및 테이블스페이스 수입니다. 이 옵션을 사용하면 다중 프로세서 시스템에서 실행되는 다중 데이터베이스 서버를 업그레이드하는 시간을 대폭 줄일 수 있습니다.
Windows 사용자의 경우 관리자 계정으로 로그인한 후 다음을 실행해야 합니다.스포츠 토토인용된 디렉토리 포함, 예:
스포츠 토토.exe
--old-datadir "C:/Program Files/PostgreSQL/12/data"
--new-datadir "C:/Program Files/PostgreSQL/17/data"
--old-bindir "C:/Program Files/PostgreSQL/12/bin"
--new-bindir "C:/Program Files/PostgreSQL/17/bin"
시작하면,스포츠 토토두 클러스터가 호환되는지 확인한 다음 업그레이드를 수행합니다. 당신은 사용할 수 있습니다스포츠 토토 --check이전 서버가 아직 실행 중이더라도 검사만 수행합니다.스포츠 토토 --check또한 업그레이드 후에 수행해야 할 수동 조정에 대해 설명합니다. 링크 또는 복제 모드를 사용하려는 경우 옵션을 사용해야 합니다.--링크또는--복제와--확인모드별 검사를 활성화합니다.스포츠 토토현재 디렉토리에 쓰기 권한이 필요합니다.
분명히 업그레이드 중에는 누구도 클러스터에 액세스해서는 안 됩니다.스포츠 토토의도하지 않은 클라이언트 연결을 방지하기 위해 기본적으로 포트 50432에서 서버를 실행합니다. 이전 클러스터와 새 클러스터가 동시에 실행되지 않으므로 업그레이드를 수행할 때 두 클러스터에 동일한 포트 번호를 사용할 수 있습니다. 단, 기존에 실행중인 서버를 확인할 때에는 기존 포트번호와 신규 포트번호가 달라야 합니다.
데이터베이스 스키마를 복원하는 동안 오류가 발생하는 경우,스포츠 토토종료되며 설명된 대로 이전 클러스터로 되돌려야 합니다.19단계아래. 시도하다스포츠 토토다시 말하지만, 스포츠 토토 스키마 복원이 성공하려면 이전 클러스터를 수정해야 합니다. 문제가 다음과 같은 경우:기여모듈을 제거해야 할 수도 있습니다.기여모듈이 사용자 데이터를 저장하는 데 사용되지 않는다고 가정하고 업그레이드 후 새 클러스터에 모듈을 설치합니다.
스트리밍 복제 및 로그 전달 대기 서버 업그레이드
링크 모드를 사용하고 스트리밍 복제가 있는 경우(참조섹션 26.2.5) 또는 로그 전달(참조PostgreSQL : 문서 : 17 : 26.2. 로그쉽 젠 토토 서버) 대기 서버인 경우 다음 단계에 따라 빠르게 업그레이드할 수 있습니다. 당신은 뛰지 않을 것입니다.스포츠 토토대기 서버에 있지만 오히려rsync기본에. 아직 서버를 시작하지 마세요.
만약 그랬다면아님링크 모드를 사용하지만, 가지고 있지 않거나 사용하고 싶지 않습니다.rsync또는 더 쉬운 솔루션을 원하시면 이 섹션의 지침을 건너뛰고 대기 서버를 한 번만 다시 만드십시오.스포츠 토토완료되고 새로운 기본이 실행 중입니다.
대기 서버에 새 PostgreSQL 바이너리 설치
새 바이너리와 지원 파일이 모든 대기 서버에 설치되어 있는지 확인하세요.
새 대기 데이터 디렉토리가 작동하는지 확인하세요아님존재
새로운 대기 데이터 디렉토리가 작동하는지 확인하세요아님존재하거나 비어있습니다. 만일initdb실행되었으므로 대기 서버의 새 데이터 디렉터리를 삭제하세요.
확장 공유 개체 파일 설치
새 기본 클러스터에 설치한 새 대기 클러스터에 동일한 확장 공유 객체 파일을 설치하십시오.
대기 서버 중지
대기 서버가 아직 실행 중이면 위의 지침을 사용하여 지금 서버를 중지하십시오.
구성 파일 저장
보존해야 하는 이전 대기의 구성 디렉토리에서 구성 파일을 저장하십시오. 예:postgresql.conf(및 여기에 포함된 모든 파일),postgresql.auto.conf, pg_hba.conf, 다음 단계에서 덮어쓰거나 제거될 것이기 때문입니다.
실행rsync
링크 모드를 사용할 때 다음을 사용하여 대기 서버를 빠르게 업그레이드할 수 있습니다.rsync. 이를 수행하려면 이전 데이터베이스 클러스터 디렉터리와 새 데이터베이스 클러스터 디렉터리 위에 있는 기본 서버의 디렉터리에서 다음을 실행합니다.기본각 대기 서버에 대해:
rsync --archive --delete --hard-links --size-only --no-inc-recursive old_cluster new_cluster remote_dir
어디에서old_cluster그리고new_cluster기본 디렉토리의 현재 디렉토리에 상대적이며remote_diris위대기 중인 이전 및 새 클러스터 디렉토리. 기본 및 대기의 지정된 디렉터리 아래 디렉터리 구조가 일치해야 합니다. 상담하세요rsync원격 디렉토리 지정에 대한 자세한 내용은 매뉴얼 페이지, 예를 들어,
rsync --archive --delete --hard-links --size-only --no-inc-recursive /opt/PostgreSQL/12 \
/opt/PostgreSQL/17 Standby.example.com:/opt/PostgreSQL
다음을 사용하여 명령이 수행할 작업을 확인할 수 있습니다.rsync's--시험 실행옵션. 동안rsync적어도 하나의 대기를 위해 기본에서 실행되어야 하며 실행이 가능합니다.rsync업그레이드된 대기가 시작되지 않은 한, 업그레이드된 대기에서 다른 대기를 업그레이드합니다.
이것은 다음에 의해 생성된 링크를 기록하는 것입니다.스포츠 토토40177_40542rsync임시 및 기록되지 않은 테이블과 관련된 파일은 일반적으로 대기 서버에 존재하지 않기 때문에 불필요하게 복사합니다.
테이블스페이스가 있는 경우 유사한 실행이 필요합니다rsync각 테이블스페이스 디렉토리에 대한 명령, 예:
rsync --archive --delete --hard-links --size-only --no-inc-recursive /vol1/pg_tblsp/PG_12_201909212 \
/vol1/pg_tblsp/PG_17_202307071 Standby.example.com:/vol1/pg_tblsp
이주한 경우pg_wal데이터 디렉토리 외부,rsync해당 디렉토리에서도 실행되어야 합니다.
스트리밍 복제 및 로그 전달 대기 서버 구성
로그 전달을 위한 서버를 구성하십시오. (달릴 필요는 없습니다.)pg_backup_start()그리고pg_backup_stop()또는 대기가 여전히 기본과 동기화되어 있으므로 파일 시스템 백업을 수행합니다.) 이전 기본이 버전 17.0 이전인 경우 기본의 슬롯이 새 대기로 복사되지 않으므로 이전 대기의 모든 슬롯을 수동으로 다시 생성해야 합니다. 이전 기본이 버전 17.0 이상인 경우 기본의 논리적 슬롯만 새 대기에 복사되지만 이전 대기의 다른 슬롯은 복사되지 않으므로 수동으로 다시 생성해야 합니다.
복원pg_hba.conf
수정한 경우pg_hba.conf, 원래 설정을 복원하세요. 이전 클러스터와 일치하도록 새 클러스터의 다른 구성 파일을 조정해야 할 수도 있습니다. 예:postgresql.conf(및 여기에 포함된 모든 파일),postgresql.auto.conf.
새 서버 시작
이제 새 서버를 안전하게 시작할 수 있습니다. 그다음에는 무엇이든 가능합니다.rsync'대기 서버입니다.
업그레이드 후 처리
업그레이드 후 처리가 필요한 경우 스포츠 토토는 완료 시 경고를 발행합니다. 또한 관리자가 실행해야 하는 스크립트 파일도 생성됩니다. 스크립트 파일은 업그레이드 후 처리가 필요한 각 데이터베이스에 연결됩니다. 각 스크립트는 다음을 사용하여 실행되어야 합니다.
psql --username=postgres --file=script.sql postgres
스크립트는 어떤 순서로든 실행될 수 있으며 실행 후에는 삭제할 수 있습니다.
일반적으로 재구축 스크립트 실행이 완료될 때까지 재구축 스크립트에서 참조된 테이블에 접근하는 것은 안전하지 않습니다. 그렇게 하면 잘못된 결과가 나오거나 성능이 저하될 수 있습니다. 재구축 스크립트에서 참조되지 않은 테이블은 즉시 액세스할 수 있습니다.
통계
최적화기 통계는 다음에 의해 전송되지 않기 때문입니다.스포츠 토토, 업그레이드가 끝나면 해당 정보를 재생성하는 명령을 실행하라는 메시지가 표시됩니다. 새 클러스터와 일치하도록 연결 매개변수를 설정해야 할 수도 있습니다.
사용 중vacuumdb --all --분석 전용그러한 통계를 효율적으로 생성할 수 있으며 다음을 사용합니다.--작업속도를 높일 수 있습니다. 옵션--단계별 분석최소한의 통계를 신속하게 생성하는 데 사용할 수 있습니다. 만일vacuum_cost_delay은 0이 아닌 값으로 설정됩니다. 이는 다음을 사용하여 통계 생성 속도를 높이기 위해 재정의될 수 있습니다.PGOPTIONS예:PGOPTIONS='-c Vacuum_cost_delay=0' 진공 DB ....
이전 클러스터 삭제
업그레이드에 만족하면 다음에 언급된 스크립트를 실행하여 이전 클러스터의 데이터 디렉터리를 삭제할 수 있습니다.스포츠 토토완료되었습니다. (기존 데이터 디렉토리 내부에 사용자 정의 테이블스페이스가 있는 경우 자동 삭제가 불가능합니다.) 또한 기존 설치 디렉토리(예:빈, 공유).
이전 클러스터로 되돌리는 중
만약, 실행 후스포츠 토토, 이전 클러스터로 되돌리려는 경우 몇 가지 옵션이 있습니다.
만약에--확인옵션이 사용되었으며 이전 클러스터는 수정되지 않았습니다. 다시 시작할 수 있습니다.
만약에--링크이전 옵션은아님사용되었으며 이전 클러스터는 수정되지 않았습니다. 다시 시작할 수 있습니다.
만약에--링크옵션이 사용되었으므로 데이터 파일이 이전 클러스터와 새 클러스터 간에 공유될 수 있습니다.
만약스포츠 토토연결이 시작되기 전에 중단되었으며 이전 클러스터는 수정되지 않았습니다. 다시 시작할 수 있습니다.
그렇다면아님새 클러스터를 시작합니다. 이전 클러스터는 연결이 시작될 때 a.old접미사가 추가됨$PGDATA/글로벌/pg_control. 이전 클러스터를 재사용하려면.old접미사$PGDATA/글로벌/pg_control; 그런 다음 이전 클러스터를 다시 시작할 수 있습니다.
새 클러스터를 시작한 경우 공유 파일에 기록되었으며 이전 클러스터를 사용하는 것은 안전하지 않습니다. 이 경우 이전 클러스터를 백업에서 복원해야 합니다.
일부 환경 변수는 명령줄 옵션에 대한 기본값을 제공하는 데 사용될 수 있습니다.
PGBINOLD이전 PostgreSQL 실행 가능 디렉터리; 옵션-b/--old-bindir.
PGBINNEW새로운 PostgreSQL 실행 가능 디렉토리; 옵션-B/--new-bindir.
PGDATAOLD이전 데이터베이스 클러스터 구성 디렉토리; 옵션-d/--old-datadir.
PGDATANEW새 데이터베이스 클러스터 구성 디렉토리; 옵션-D/--new-datadir.
PGPORTOLD이전 클러스터 포트 번호; 옵션-p/--이전 포트.
PGPORTNEW새 클러스터 포트 번호; 옵션-P/--새 포트.
PGSOCKETDIR업그레이드 중 포스트마스터 소켓에 사용할 디렉토리; 옵션-s/--socketdir.
PGUSER클러스터의 설치 사용자 이름; 옵션-유/--사용자 이름.
스포츠 토토스키마 덤프와 같은 다양한 작업 파일을 생성하여 내부에 저장함스포츠 토토_output.d새 클러스터의 디렉토리에 있습니다. 각 실행은 ISO 8601(%Y%m%dT%H%M%S), 생성된 모든 파일이 저장됩니다.스포츠 토토_output.d다음과 같은 경우 포함된 파일이 자동으로 제거됩니다.스포츠 토토성공적으로 완료되었습니다. 하지만 문제가 발생할 경우 해당 파일이 유용한 디버깅 정보를 제공할 수 있습니다.
스포츠 토토이전 데이터 디렉토리와 새 데이터 디렉토리에서 단기 포스트마스터를 시작합니다. 이러한 포스트마스터와의 통신을 위한 임시 Unix 소켓 파일은 기본적으로 현재 작업 디렉터리에 만들어집니다. 어떤 상황에서는 현재 디렉터리의 경로 이름이 너무 길어서 유효한 소켓 이름이 아닐 수 있습니다. 이 경우 다음을 사용할 수 있습니다.-s소켓 파일을 더 짧은 경로 이름을 가진 일부 디렉토리에 저장하는 옵션. 보안을 위해 해당 디렉토리는 다른 사용자가 읽거나 쓸 수 없도록 해야 합니다. (Windows에서는 지원되지 않습니다.)
모든 실패, 재구축 및 재색인 사례는 다음에 의해 보고됩니다.스포츠 토토설치에 영향을 미치는 경우; 테이블과 인덱스를 재구축하기 위한 업그레이드 후 스크립트가 자동으로 생성됩니다. 많은 클러스터의 업그레이드를 자동화하려는 경우 데이터베이스 스키마가 동일한 클러스터에는 모든 클러스터 업그레이드에 대해 동일한 업그레이드 후 단계가 필요합니다. 이는 업그레이드 후 단계가 사용자 데이터가 아닌 데이터베이스 스키마를 기반으로 하기 때문입니다.
배포 테스트를 위해 이전 클러스터의 스키마 전용 복사본을 생성하고 더미 데이터를 삽입한 후 업그레이드하십시오.
스포츠 토토이를 사용하여 테이블 열이 포함된 데이터베이스의 업그레이드를 지원하지 않습니다.reg*OID 참조 시스템 데이터 유형:
regcollation |
regconfig |
regdictionary |
regnamespace |
regoper |
regoperator |
regproc |
regprocedure |
(regclass, regrole및regtype업그레이드할 수 있습니다.)
링크 모드를 사용하고 새 클러스터가 시작될 때 이전 클러스터가 수정되는 것을 원하지 않는 경우 복제 모드 사용을 고려하십시오. 사용할 수 없는 경우 이전 클러스터의 복사본을 만들고 링크 모드에서 업그레이드합니다. 이전 클러스터의 유효한 복사본을 만들려면 다음을 사용하세요.rsync서버가 실행되는 동안 이전 클러스터의 더티 복사본을 생성한 다음 이전 서버를 종료하고 실행합니다.rsync --체크섬다시 복사본을 업데이트하여 일관성을 유지합니다. (--체크섬필요한 이유는rsync파일 수정 시간 단위는 1초뿐입니다.) 일부 파일을 제외할 수 있습니다. 예:postmaster.pid, 설명된 대로섹션 25.3.4. 파일 시스템이 파일 시스템 스냅샷 또는 기록 중 복사 파일 복사본을 지원하는 경우 이를 사용하여 이전 클러스터 및 테이블스페이스의 백업을 만들 수 있습니다. 단, 스냅샷과 복사본은 동시에 또는 데이터베이스 서버가 다운된 동안 생성되어야 합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.