Snowflake Postgres 버전 업그레이드¶
Postgres는 X.Y 버전 체계를 사용하며, X는 주 버전이고 Y는 해당 주 버전 내의 부 버전입니다.
Postgres 주 버전 업그레이드¶
Snowflake Postgres를 사용하면 장애 조치 유지 관리 <label-sfpg-maintenance-failover>`가 필요한 인스턴스 :ref:`label-sfpg-modify 작업을 통해 주 버전 업그레이드를 예약할 수 있습니다.
주 버전 업그레이드를 시작하려면 인스턴스에 대한 OWNERSHIP 또는 OPERATE 권한이 부여된 역할을 사용해야 합니다.
참고
최신 주 버전으로만 업그레이드할 수 있습니다. 이전 주 버전으로 다운그레이드할 수는 없습니다.
새 버전 번호와 함께 새 인스턴스 크기, 저장소 크기 또는 둘 다를 선택하여 주 버전 업그레이드와 인스턴스 크기 조정을 결합할 수 있습니다.
팁
업그레이드 유지 관리 장애 조치는 다른 인스턴스 수정 유지 관리 장애 조치보다 시간이 오래 걸릴 수 있으므로(아래 참조), 인스턴스를 이전 주 버전으로 다운그레이드할 수 없는 경우 Snowflake는 프로덕션 인스턴스의 주 버전 업그레이드를 진행하기 전에 인스턴스의 :ref:`label-sfpg-fork`를 사용하여 주 버전 업그레이드를 완전히 테스트할 것을 강력히 권장합니다.
탐색 메뉴에서 Postgres 를 선택합니다.
Snowflake Postgres 인스턴스를 선택합니다.
오른쪽 상단의 Manage 메뉴에서 :ui:`Modify`를 선택합니다.
최신 버전을 사용할 수 있는 경우 Postgres 버전 드롭다운 메뉴에서 선택할 수 있습니다.
Save 버튼을 선택하여 변경 사항을 확인합니다.
POSTGRES_VERSION 매개 변수를 원하는 버전으로 설정하여 ALTER POSTGRES INSTANCE 명령을 통해 주 버전 업그레이드를 시작할 수 있습니다.
그러면 이름이 ``my_instance``인 인스턴스가 Postgres 18로 업그레이드됩니다.
현재 설정된 유지 관리 기간과 관계없이 업그레이드 대체 인스턴스가 준비되는 즉시 업그레이드를 진행하려면 다음을 수행합니다.
그러면 인스턴스가 Postgres 18로 업그레이드되고 저장소 크기가 100GB로 변경됩니다.
오늘 날짜가 2026년 3월 18일이고 업그레이드 유지 관리 장애 조치가 내일 오후 10시에 발생하도록 한다고 가정해 보겠습니다.
참고
유지 관리 기간을 설정하지 않고 SQL을 통해 업그레이드 작업을 생성할 때 ``APPLY ON ‘<timestamp>’``로 실행 시간을 지정하지 않은 경우, SQL을 통해 업그레이드 작업을 생성할 때 APPLY IMMEDIATELY를 사용하는 경우와 마찬가지로 새 인스턴스가 채워지고 준비되는 즉시 업그레이드 유지 관리 장애 조치가 진행됩니다
``APPLY ON ‘<timestamp>``를 사용하여 지정된 미래 시간에 대한 업그레이드 유지 관리 장애 조치를 예약하는 경우 해당 시간은 현재 시간에서 최대 3일까지 가능합니다.
주 버전 업그레이드 유지 관리의 작동 방식¶
Postgres 주 버전 업그레이드는 다른 인스턴스 관리 작업과 다르게 작동합니다. 프로세스를 시작하면 Snowflake Postgres가 다음 단계를 실행합니다.
다른 수정 작업과 마찬가지로 업그레이드를 위해 숨겨진 복제본이 프로비저닝됩니다.
예약된 유지 관리 시간에 도달하는 경우:
쓰기를 방지하기 위해 현재 기본 인스턴스가 잠겨 있습니다.
숨겨진 복제본은 `pg_upgrade <https://www.postgresql.org/docs/current/pgupgrade.html>`_를 사용하여 업그레이드됩니다. 기간은 데이터 크기가 아닌 데이터베이스의 *오브젝트 수*에 따라 다릅니다.
업그레이드가 완료되면 새로 업그레이드된 인스턴스로 장애 조치를 수행합니다.
중요 참고 사항:
주 버전 변경은 애플리케이션 호환성에 영향을 줄 수 있습니다. 업그레이드하기 전에 새 PostgreSQL 버전에 대해 애플리케이션을 테스트하는 것이 좋습니다.
읽기 전용 복제본은 기본 인스턴스와 별도로 주 버전을 업그레이드할 수 없습니다. 대신 기본 인스턴스에서 주 버전 업그레이드를 수행할 때 자동으로 업그레이드되지만, 이는 기본 인스턴스가 업그레이드되고 새 백업이 수행된 후에만 해당됩니다. 그때까지 복제본을 계속 사용할 수는 있지만 부실 상태로 유지됩니다.
기본 인스턴스가 업그레이드되고 새 백업이 수행된 후 HA 인스턴스(있는 경우)도 자동으로 업그레이드됩니다. 그때까지는 기본 인스턴스에 유효한 HA 인스턴스가 없습니다.
유지 관리 장애 조치로 인한 서비스 중단 시간은 다른 수정 작업에 필요한 시간보다 길어지지만 일반적으로 몇 분 이상 지속되지 않습니다.
업그레이드에 실패하면 인스턴스가 자동으로 원래 인스턴스로 되돌아갑니다.
Postgres 부 버전 업그레이드¶
Snowflake는 시간이 지남에 따라 Postgres의 새로운 부 버전으로 데이터베이스를 자동으로 업그레이드합니다.
각 Postgres 릴리스에서는 모든 보안 관련 문제와 버그를 검사합니다. 중요하다고 판단되는 수정 사항의 경우 데이터가 안전하도록 업그레이드를 우선 적용합니다. 긴급 업데이트가 필요한 경우 유지 관리 기간 동안 해당 업데이트를 수행합니다.
중요하지 않은 수정 사항의 경우 다음 중 하나를 통해 데이터베이스를 점진적으로 업데이트합니다.
리소스 변경과 같이 인스턴스 교체가 필요한 인스턴스 관리 작업 중 인스턴스 업데이트하기
HA 장애 조치 이후 고가용성 대기를 업데이트합니다. HA 장애 조치가 발생하는 경우 새로 빌드된 HA 인스턴스는 최신 포인트 릴리스를 받게 됩니다.
인스턴스 :ref:`label-sfpg-refresh`는 또한 해당 인스턴스 및 HA 인스턴스(있는 경우)가 사용 가능한 최신 부 버전으로 업그레이드되도록 합니다.