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

시스템 뷰

INFORMATION_SCHEMA.EXTENSIONS

현재 설치된 VillageSQL 확장을 모두 나열합니다.
INSTALL EXTENSIONUNINSTALL EXTENSION은 VillageSQL SQL 확장입니다. 이는 표준 MySQL 8.4 구문의 일부가 아닙니다.
알려진 열: 예시:
예시 출력 (실제 버전 문자열은 설치된 확장에 따라 다름):
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-8.4). 이는 내부 메타데이터 카탈로그에 찍힌 버전을 동일한 {codebase}_{version} 형식으로 보고하는 villagesql_schema_version과 구분됩니다.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다.

villagesql_vef_server_protocol

읽기 전용 글로벌 변수입니다. 이 서버 빌드에서 지원하는 가장 높은 VEF 프로토콜 버전을 반환합니다. 확장 작성자는 이 값을 types.h의 프로토콜 상수와 비교하여 등록 중 사용 가능한 ABI 기능을 결정할 수 있습니다.
프로토콜 V4가 추가하는 것 VEF_PROTOCOL_4 이상을 협상하는 확장은 vef_type_desc_tvariable_length 필드에 접근할 수 있습니다. true로 설정되면 해당 유형의 저장 크기는 단일 고정 크기가 아니라 값별로 결정됩니다. 가변 길이 유형은 상한값으로 max_persisted_length도 선언해야 합니다. 이 플래그를 설정하려면 TypeBuildervariable_length_type() 빌더 메서드를 사용하세요 — variable_length를 직접 설정하지 마세요. 이 필드는 협상된 프로토콜이 VEF_PROTOCOL_4 이상일 때만 서버가 읽습니다. VEF_PROTOCOL_4는 또한 vef_func_desc_tmax_result_length 필드를 추가합니다. 함수는 자신의 STRING 결과의 최대 길이 (문자 단위)를 선언하여, 구체화된 결과 — GROUP BY/DISTINCT 임시 테이블, CREATE TABLE ... SELECT, UNION — 가 인수 너비에서 잘리지 않고 전체 값을 담도록 할 수 있습니다. 0은 인수 너비로 대체되며, STRING 전용이고 VEF_MAX_RESULT_LENGTH (16 MiB / 16777216 바이트)로 제한됩니다. 선언된 값이 더 크면 이 값으로 제한됩니다. FuncBuildermax_result_length() 빌더 메서드로 설정합니다. 프로토콜 V4는 활발히 개발 중입니다. 옵트인하는 확장은 -DVSQL_USE_DEV_ABI=ON으로 빌드해야 하며, 안정화되기 전에 ABI 변경을 예상해야 합니다. 전체 vef_type_desc_tvef_func_desc_t 정의는 abi/types.h, variable_length_type()type_builder.h, max_result_length()func_builder.h를 참조하세요. 이 값은 컴파일 타임 상수 vef_server_protocol_version을 반영하며, 런타임 시 변경할 수 없습니다.

villagesql_build_info

읽기 전용 글로벌 변수입니다. 이 서버 바이너리가 어떻게 빌드되었는지에 대한 메타데이터를 담은 JSON 객체를 반환합니다: 소스 커밋, 작업 트리 상태 및 빌드 환경.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다. 깨끗한 릴리스 빌드는 is_dirty: false이며 세 개의 파일 개수 필드가 모두 0입니다. 수정된 작업 트리에서 빌드하면 files_added, files_deleted 또는 files_modified에 0이 아닌 개수가 표시됩니다.

다음 단계

확장 관리

확장 모니터링 및 문제 해결

확장 설치

새로운 확장 추가

확장 아키텍처

내부 구조 이해

사용 가능한 확장

확장 카탈로그 브라우징