INSTALL EXTENSION 명령어로 설치할 수 있습니다.
내장 확장 기능
vsql_complex
상태: VillageSQL 내장 저장소: villagesql-server/villagesql/examples/vsql-complex 전기 공학, 신호 처리, 과학 계산에 대한 완전한 산술 지원을 제공하는 복소수 데이터 유형입니다. 기능:- 복소수(a + bi) 저장을 위한
COMPLEX열 유형 - 문자열 리터럴 형식:
'(real,imaginary)'(예:'(3.0,4.0)') - 산술: 덧셈, 뺄셈, 곱셈, 나눗셈
- 유틸리티:
complex_real(),complex_imag(),complex_abs(),complex_conjugate() - 이진 저장: 16바이트(2개의 double)
핵심 확장 기능
다음 확장 기능은 별도의 저장소에서 관리됩니다. 대부분은 표준 설치 방법(설치 스크립트, Docker 이미지, 릴리스 tarball)에 미리 빌드된 상태로 함께 제공되므로INSTALL EXTENSION만 실행하면 됩니다. vsql_currency, vsql_duckdb, vsql_mcp, vsql_stat_ch는 예외이며 여전히 별도로 빌드해야 합니다. 각 확장 기능의 저장소에 전체 설치 지침과 문서가 있습니다.
vsql_ai
저장소: villagesql/vsql-ai AI 기반 SQL 함수. SQL 쿼리에 대한 AI 프롬프팅 및 임베딩 함수를 지원합니다. Anthropic Claude, Google Gemini, OpenAI, 로컬 Ollama를 지원합니다.vsql_crypto
저장소: villagesql/vsql-crypto 암호화 함수. 해싱(MD5, SHA-1, SHA-256, SHA-512 등), HMAC, AES 암호화, 비밀번호 해싱, OpenSSL을 사용한 안전한 랜덤 데이터 생성을 지원합니다.vsql_cube
저장소: villagesql/vsql-cube N차원 상자 및 점 유형. 최대 100차원까지 기하학적 상자와 점을 저장하고 쿼리할 수 있으며, 생성자, 접근자, 조건자, 거리, 기하학 함수를 제공합니다. VillageSQL 0.0.4 이상이 필요합니다.vsql_http
저장소: villagesql/vsql-http HTTP 클라이언트 함수. SQL 쿼리에서 HTTP 요청(GET, POST, PUT, DELETE, PATCH)을 보내며 JSON 응답을 처리하고, URL 인코딩 및 디코딩을 지원합니다.vsql_network_address
저장소: villagesql/vsql-network-address 네트워크 주소 유형. IPv4, IPv6, MAC 주소 데이터 유형을 검증, 비교, 네트워크 연산과 함께 지원합니다.vsql_uuid
저장소: villagesql/vsql-uuid UUID 데이터 유형 및 함수. SQL 내에서 직접 UUID(v1, v3, v4, v5, v6, v7)를 생성하고 작업할 수 있으며, 내장 16바이트 UUID 유형, 타임스탬프 추출, 비교 기능을 제공합니다.vsql_boolean
저장소: villagesql/vsql-boolean 실제 불리언 유형. 표준 진리값(true/false, yes/no, on/off, 1/0), 1바이트 저장 공간, 올바른 덤프/복원 동작을 갖춘 STRICTBOOL 열 유형입니다. 집계 함수 boolean_sum()은 그룹 내 TRUE 값의 개수를 INT로 반환하고, boolean_avg()는 TRUE 값의 비율(TRUE 개수 ÷ NULL이 아닌 개수)을 REAL로 반환합니다. 두 함수 모두 NULL을 무시하며, 빈 그룹에 대해 boolean_avg()는 NULL을 반환합니다.
vsql_rest
저장소: villagesql/vsql-rest REST API 서버. 코드를 작성하지 않고도 데이터베이스 테이블을 실시간 HTTP/HTTPS 엔드포인트로 공개합니다.SET GLOBAL로 구성하고, URL 필터로 테이블을 조회하며, /rpc/를 통해 저장 함수를 호출할 수 있습니다. 미리 보기 기능이므로 --vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.
vsql_trgm
저장소: villagesql/vsql-trgm 트라이그램 기반 텍스트 유사도 검색. PostgreSQLpg_trgm의 포팅 버전입니다. 문자열 간 유사도 점수 계산, 열에서 근사 일치 항목 찾기, 단어 단위 유사도 측정을 모두 SQL에서 수행할 수 있습니다. VillageSQL 0.0.4가 필요합니다.
vsql_fuzzystrmatch
저장소: villagesql/vsql-fuzzystrmatch 퍼지 문자열 매칭 함수. PostgreSQLfuzzystrmatch의 포팅 버전입니다. Soundex 발음 코드, 레벤슈타인 편집 거리(비용 설정 및 조기 종료 임계값 지원), Metaphone, Double Metaphone을 제공하여 이름 매칭, 맞춤법 교정, 발음 기반 중복 제거에 활용할 수 있습니다. VillageSQL 0.0.4가 필요합니다.
vsql_currency
저장소: villagesql/vsql-currency ISO 4217 통화 코드 유형. 164개 통화 코드 중 하나를 단일 바이트에 저장하는currency 열 유형으로, 대소문자를 구분하지 않는 입력, 대문자 정규화 출력, 알파벳순 정렬, 인덱스를 지원합니다. supported_currencies(prefix) 함수도 제공하여 prefix로 시작하는 ISO 4217 코드를 JSON 배열로 반환하며, 빈 접두사를 전달하면 164개 전체를 반환합니다. adjust/pg-currency의 Rust 포팅 버전입니다.
vsql_oauth2
저장소: villagesql/vsql-oauth2 OAuth2/OIDC JWT 인증.IDENTIFIED WITH vsql_oauth2로 생성한 계정은 비밀번호 대신 JWT를 제시하여 인증합니다. 확장 기능은 JWKS 엔드포인트(jwks_url, 설정하면 우선하며 일정 간격으로 갱신됨)에서 가져온 서명 키 또는 정적 공개 키로 RSA(RS256/RS384/RS512) 또는 ECDSA(ES256/ES384/ES512) 서명을 검증하고 exp를 확인하고 구성된 경우 iss/aud도 확인한 뒤, 클레임을 VillageSQL 계정에 매핑합니다. 토큰의 역할 클레임을 데이터베이스 역할에 매핑할 수도 있으며, 기본적으로 꺼져 있지만 로그인 시 계정을 생성하거나 해당 역할을 부여할 수 있습니다. 미리 보기 기능이므로 --vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.
vsql_stat_ch
저장소: villagesql/vsql-stat-ch ClickHouse로 전송하는 SQL 문 단위 텔레메트리. 완료된 SQL 문마다 이벤트 하나를 수집하여 ClickHouse 네이티브 프로토콜(포트 9000) 또는 HTTP(포트 8123)로 배치 전송합니다. 전송 방식은 서버 실행 중에 전환할 수 있습니다. 미리 보기 기능이므로--vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.
vsql_mcp
저장소: villagesql/vsql-mcp Model Context Protocol 서버. MCP Streamable HTTP를 통해 데이터베이스를 AI 에이전트용 도구 표면으로 노출합니다. 리스너는 서버 프로세스 내부에서 실행됩니다. 에이전트는 스키마 목록 조회, 테이블 설명, 읽기 전용 쿼리 실행을 수행할 수 있으며, 쓰기는 활성화할 때까지 꺼져 있습니다. 스키마와 테이블 탐색은 서버 프로세스 내부에서 실행되고,query, write, explain 도구와 테이블 DDL 리소스는 vsql_mcp.db_url로 설정한 전용 데이터베이스 계정을 통해 실행되며 선택적 테이블 허용 목록, 행 수 상한, 호출별 타임아웃이 적용됩니다. 미리 보기 기능이므로 --vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.
vsql_duckdb
저장소: villagesql/vsql-duckdb 서버 프로세스 내부에 내장된 DuckDB. 행의 JSON 배열을 반환하는duckdb_query()와 단일 값을 반환하는 duckdb_scalar()를 사용해 오브젝트 스토리지 또는 디스크의 Parquet, CSV, JSON 파일을 쿼리할 수 있습니다. duckdb_status()는 연결된 리더와 현재 설정을 보고합니다. 0.0.6보다 새로운 VillageSQL 서버가 필요합니다. 미리 보기 기능이므로 --vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.
커뮤니티 확장 기능
커뮤니티 확장 기능은 VillageSQL 확장 프레임워크(VEF)를 사용하여 제3자가 구축합니다. VillageSQL 팀에서 관리하지 않으며, 어느 것도 VillageSQL과 함께 제공되지 않습니다. 설치하기 전에 각 확장 기능을 빌드하고 그.veb 파일을 veb_dir에 복사하십시오.
vsql_statistics
저장소: ronaldbradford/vsql-statistics 관리자: Ronald Bradford 데이터 분석을 위한 통계적 집계 함수. 사분위수와 Tukey 경계 이상치 탐지, 이표본 t-검정, 일표본 z-검정, 일원배치 분산분석, 카이제곱 검정, 공분산, 왜도, 첨도, 최빈값, 그리고 절사평균, 윈저화 평균, 기하평균, 조화평균. 각 함수는 결과를 JSON 문자열로 반환합니다.CAST(... AS CHAR)로 캐스팅한 뒤 JSON_EXTRACT()로 필드를 읽으십시오. VillageSQL 0.0.4 이상이 필요합니다.
prometheus_exporter
저장소: ProxySQL/vsql-prometheus-exporter 관리자: ProxySQL 내장 Prometheus 메트릭 내보내기. HTTP/metrics 엔드포인트에서 Prometheus 노출 형식으로 MySQL 서버 메트릭(전역 상태, 전역 변수, InnoDB 메트릭, 복제 상태)을 노출합니다.
vsql_luhn
저장소: intojhanurag/vsql-luhn 관리자: Anurag Ojha Luhn 알고리즘 검증기 및 검사 숫자 생성기.luhn_valid()로 신용카드 번호, IMEI 코드, 캐나다 SIN 및 기타 업계 식별자를 검증하고, luhn_checkdigit()로 올바른 검사 숫자를 생성합니다.
vsql_nanoid
저장소: intojhanurag/vsql-nanoid 관리자: Anurag Ojha 짧고 URL 안전한 고유 식별자를 위한 NanoID 생성기.nanoid()는 21자 ID를 반환하며, nanoid_with(size[, alphabet])로 길이와 문자 집합을 사용자 지정할 수 있습니다. 암호학적으로 안전한 난수 소스를 사용합니다.

