문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판 | |||
| postgresql:pg_upgrade [2024/09/07 11:58] – taekgu | postgresql:pg_upgrade [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ====== pg_upgrade (upgrade a PostgreSQL server instance) ====== | ||
| + | PostgreSQL Major Version 업그레이드하기 위해서 사용 | ||
| + | [[https:// | ||
| + | |||
| + | |||
| + | pg_upgrade (이전 명칭 pg_migrator )를 사용하면 PostgreSQL 데이터 파일 에 저장된 데이터를 일반적으로 주요 버전 업그레이드(예: | ||
| + | |||
| + | 주요 PostgreSQL 릴리스는 시스템 테이블의 레이아웃을 자주 변경하는 새로운 기능을 정기적으로 추가하지만 내부 데이터 저장 형식은 거의 변경되지 않습니다. pg_upgrade는 이 사실을 사용하여 새로운 시스템 테이블을 만들고 단순히 이전 사용자 데이터 파일을 재사용하여 빠른 업그레이드를 수행합니다. 향후 주요 릴리스에서 이전 데이터 형식을 읽을 수 없게 만드는 방식으로 데이터 저장 형식을 변경하는 경우 pg_upgrade는 이러한 업그레이드에 사용할 수 없습니다. (커뮤니티는 이러한 상황을 피하려고 시도합니다.) | ||
| + | |||
| + | pg_upgrade는 이전 및 새 클러스터가 바이너리 호환되도록 최선을 다합니다. 예를 들어, 32/64비트 바이너리를 포함하여 호환되는 컴파일 타임 설정을 확인합니다. 모든 외부 모듈도 바이너리 호환되는 것이 중요하지만, | ||
| + | |||
| + | pg_upgrade는 스냅샷과 베타 릴리스를 포함하여 9.2.X 이상에서 현재 PostgreSQL 주요 릴리스로의 업그레이드를 지원합니다. | ||
| + | |||
| + | <code cmd> | ||
| + | pg_upgrade.exe | ||
| + | --old-datadir " | ||
| + | --new-datadir " | ||
| + | --old-bindir " | ||
| + | --new-bindir " | ||
| + | </ | ||
| + | |||
| + | ==== 주의 ==== | ||
| + | 일반적으로 재구축 스크립트가 완료될 때까지 재구축 스크립트에서 참조된 테이블에 액세스하는 것은 안전하지 않습니다. 그렇게 하면 잘못된 결과나 성능 저하가 발생할 수 있습니다. 재구축 스크립트에서 참조되지 않은 테이블은 즉시 액세스할 수 있습니다. | ||