Skip to main content

명령 구문

VERSION이 제공되면 서버가 설치된 확장 프로그램의 버전과 비교하고, 서로 다를 경우 중단합니다. 해당 절을 생략하면 현재 설치된 버전을 제거합니다.
확장 프로그램을 제거하기 전에, 확장 프로그램에서 제공하는 유형을 사용하는 모든 열, 저장 프로시저 매개변수 및 DECLARE 변수를 제거해야 합니다. 제거 프로세스는 확장 프로그램이 제공하는 모든 함수와 유형을 제거합니다.

사전 요구 사항

  • VillageSQL에 관리자 액세스 권한
  • 확장 프로그램의 사용자 정의 유형을 사용하는 테이블 없음
  • 확장 프로그램의 사용자 정의 유형을 사용하는 저장 프로시저 매개변수 또는 DECLARE 변수 없음
  • 확장 프로그램이 사용자 정의 데이터를 저장하는 경우 데이터 백업

제거 단계

1. 제거 시도

제거 명령을 실행합니다. 확장 프로그램에 의존성이 없으면 즉시 성공합니다. 확장 프로그램에 의존하는 열이 있는 경우 오류 메시지에서 정확히 어떤 열이 영향을 받는지 표시합니다:
확장 프로그램에 열 의존성이 있는 경우, 다음과 같은 오류가 표시됩니다:
식별된 열을 삭제하거나 수정한 후 다시 시도합니다:
저장 프로시저가 확장 프로그램의 사용자 정의 유형을 사용하는 경우, 다음과 같은 오류가 표시됩니다:
사용자 정의 유형이 지정된 매개변수 또는 변수를 제거한 뒤 저장 프로시저를 삭제하거나 수정하고 다시 시도합니다:

2. 확장 프로그램 제거

CI 환경 또는 롤링 업그레이드 후에 예상치 못한 버전을 제거하는 것을 방지하기 위해 VERSION 절을 포함할 수 있습니다:
1.2.0이 설치된 버전이 아니면 서버는 오류를 반환하고 확장 프로그램을 설치된 상태로 유지합니다:
제거되는 내용:
  • ✅ 확장 프로그램이 제공하는 모든 VDF(함수)
  • ✅ 확장 프로그램이 등록한 사용자 정의 유형 정의
  • ✅ 확장 프로그램 등록 기록
  • ✅ 확장 프로그램에 대한 사용자 정의 열 메타데이터
  • mysqld-auto.cnf에서 확장 프로그램의 영구 시스템 변수(SET PERSIST)
제거되지 않는 내용:
  • .veb 파일은 veb_dir에 그대로 남아 있습니다
  • {datadir}/.veb_expansion_cache/ 내 확장된 디렉터리는 일시적으로 남아 있습니다
  • ❌ 테이블 데이터(사용자 정의 유형을 사용하는 테이블을 먼저 삭제해야 합니다)
{datadir}/.veb_expansion_cache/{extension}/{sha256}/ 내 확장 디렉터리는 서버 재시작 시 자동으로 정리됩니다.
UNINSTALL EXTENSIONmysqld-auto.cnf에서 확장 프로그램에 속하는 모든 영구 시스템 변수도 제거합니다. 이전에 SET PERSIST extensionname.varname = value를 실행한 경우, 제거 중에 해당 항목이 자동으로 삭제됩니다. 영구 값은 서버 종료 중에 제거되지 않습니다 — 재시작 주기 동안 유지되어 확장 프로그램이 다음 로드 시 읽을 수 있습니다.

3. 제거 확인

일반적인 오류

선택 사항: .veb 파일 제거

제거 후 .veb 파일이 남아 있습니다. 완전히 제거하려면:
.veb 파일은 향후 재설치를 위해 안전하게 유지할 수 있습니다. 삭제해도 서버 성능에 영향을 주지 않습니다.

재설치

확장 프로그램을 재설치하려면 .veb 파일이 여전히 존재하는 경우 INSTALL EXTENSION을 다시 사용합니다:
자세한 내용은 확장 프로그램 설치를 참조하세요.

다음 단계

확장 프로그램 설치

필요 시 확장 프로그램 다시 추가

확장 프로그램 관리

확장 프로그램 모니터링 및 문제 해결

시스템 참조

시스템 테이블 쿼리