Skip to main content
아래 표준 SQL 인터페이스를 사용하여 확장 메타데이터 및 서버 상태를 쿼리합니다.

시스템 뷰

INFORMATION_SCHEMA.EXTENSIONS

현재 설치된 VillageSQL 확장을 모두 나열합니다.
INSTALL EXTENSIONUNINSTALL EXTENSION은 VillageSQL SQL 확장입니다. 이는 표준 MySQL 9.7 구문의 일부가 아닙니다.
알려진 열: 예시:
예시 출력 (실제 버전 문자열은 설치된 확장에 따라 다름):
EXTENSION_NAME 값은 make_extension()에 전달된 이름과 일치하는 소문자입니다. 이 뷰는 현재 설치된 상태를 반영합니다. 네 개의 PENDING_* 열은 예약된 ALTER EXTENSION ... AT RESTART 버전 변경을 추적합니다. 워크플로에 대해서는 확장 관리를 참조하세요.

INFORMATION_SCHEMA.COLUMNS (사용자 정의 유형)

사용자 정의 확장 유형을 사용하는 열은 표준 INFORMATION_SCHEMA.COLUMNS 뷰를 통해 표시됩니다. 사용자 정의 유형은 DATA_TYPECOLUMN_TYPE 열에서 extension_name.type_name 형식으로 표시됩니다 (예: vsql_complex.COMPLEX). 예시:
샘플 출력:

INFORMATION_SCHEMA.EXTENSION_REGISTRATION

로드된 각 확장에 대한 메모리 내 VEF 등록 구조체를 JSON 문서로 노출합니다. INSTALL EXTENSION 후 서버가 확장의 함수, 유형 및 시스템 변수를 올바르게 해석했는지 확인하기 위해 사용합니다.

일반 쿼리

확장 종속성 찾기

제거하기 전에 특정 확장의 유형을 사용하는 열을 찾습니다:

모든 확장 및 사용자 정의 유형 열 목록

확장 유형을 사용하는 테이블 찾기


시스템 변수

veb_dir

런타임 시 읽기 전용입니다. 서버가 .veb 확장 패키지 파일을 찾는 디렉토리 경로입니다. [mysqld] 섹션의 my.cnf에서 설정해야 하며, 서버 재시작 없이는 변경할 수 없습니다.
범위: 글로벌, 런타임 시 읽기 전용입니다. my.cnf에서 구성합니다:
단일 디렉토리만 지원됩니다. 배치 및 문제 해결을 위해 확장 관리를 참조하세요.

villagesql_server_version

읽기 전용 글로벌 변수입니다. 서버 바이너리에 컴파일된 VillageSQL 버전 문자열을 반환합니다. 형식은 {codebase}_{major}.{minor}.{patch}[-prerelease]이며, 여기서 codebase는 이 빌드가 파생된 상위 포크의 이름입니다 (여기서는 mysql-9.7). 이는 내부 메타데이터 카탈로그에 찍힌 버전을 동일한 {codebase}_{version} 형식으로 보고하는 villagesql_schema_version과 구분됩니다.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다.

villagesql_schema_version

읽기 전용 글로벌 변수입니다. 내부 메타데이터 카탈로그에 찍힌 버전을 villagesql_server_version과 동일한 {codebase}_{version} 형식으로 반환합니다. 빈 문자열은 이 데이터 디렉터리에서 VillageSQL 스키마가 초기화되지 않았음을 의미합니다.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다.

villagesql_vef_server_protocol

읽기 전용 글로벌 변수입니다. 이 서버 빌드에서 지원하는 가장 높은 VEF 프로토콜 버전을 반환합니다. 확장을 설치할 때 서버와 확장은 양쪽 모두 지원하는 가장 높은 프로토콜 버전을 사용합니다. 폐기된 불안정 프로토콜 버전으로 빌드된 확장은 설치할 수 없으며, INSTALL EXTENSIONFailed to load VEF extension 오류로 실패합니다.
프로토콜 V4는 가변 길이 커스텀 유형 지원을 추가하고, 함수가 문자열 결과의 최대 길이를 선언할 수 있게 합니다. V4는 옵트인 개발용 ABI에서 활발히 개발 중이며 안정화되기 전에 변경될 수 있습니다. 확장을 개발하는 경우, 각 프로토콜 버전에서 사용할 수 있는 기능은 유형 연산C++로 확장 만들기를 참조하세요. 이 값은 컴파일 타임 상수 vef_server_protocol_version을 반영하며, 런타임 시 변경할 수 없습니다.

villagesql_build_info

읽기 전용 글로벌 변수입니다. 이 서버 바이너리가 어떻게 빌드되었는지에 대한 메타데이터를 담은 JSON 객체를 반환합니다: 소스 커밋, 작업 트리 상태 및 빌드 환경.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다. 수정된 작업 트리에서 빌드하면 files_added, files_deleted 또는 files_modified에 0이 아닌 개수가 표시되며, 이 경우 is_dirtytrue가 됩니다. 릴리스 빌드 (버전에 사전 릴리스 접미사가 없는 빌드)는 동일한 소스에서 동일한 바이너리가 생성되도록 이 세 개의 카운트를 강제로 0으로 만들고 build_timestampbuild_host를 비워 둡니다. 이것이 릴리스 빌드에서 is_dirty가 항상 false인 이유입니다.

vsql_allow_preview_extensions

서버가 미리보기 기능이 필요한 확장을 허용할지 여부를 제어합니다. OFF인 동안에는 해당 확장 설치가 실패합니다:
SET PERSIST로 켭니다:
SET GLOBAL이 아니라 SET PERSIST를 사용하세요. 미리보기 확장은 서버 시작 시 로드되므로 이 값은 재시작 후에도 유지되어야 하며, mysqld-auto.cnf에 값을 기록하는 것은 SET PERSIST뿐입니다. 그런 이유로 SET GLOBAL은 거부됩니다. mysqld-auto.cnf가 아직 존재하지 않는 경우(서버를 처음 시작하는 경우 등)에는 대신 mysqld 명령줄에서 --vsql_allow_preview_extensions=ON을 전달하세요. 미리보기 기능을 사용하는 확장이 하나라도 설치되어 있는 동안에는 이 값을 다시 OFF로 되돌릴 수 없습니다. 서버 시작 시 이 설정이 ON이어야 하기 때문입니다. 먼저 해당 확장을 제거하세요. 사용 가능한 미리보기 기능 목록과 확장이 이를 어떻게 사용하는지는 미리보기 기능을 참조하세요.

다음 단계

확장 관리

확장 모니터링 및 문제 해결

확장 설치

새로운 확장 추가

확장 아키텍처

내부 구조 이해

사용 가능한 확장

확장 카탈로그 브라우징