Skip to main content
VillageSQL은 내장 확장 기능을 제공하며 VillageSQL 팀에서 구축 및 유지 관리하는 공식 확장 기능을 지원합니다. INSTALL EXTENSION 명령어로 설치할 수 있습니다.

내장 확장 기능

소스에서 빌드할 때는 vsql_complexvsql_simple만 포함됩니다. 아래의 공식 확장 기능은 별도의 저장소에서 관리됩니다.

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)
설치:
예시:

핵심 확장 기능

다음 확장 기능은 별도의 저장소에서 관리되며 별도로 빌드하고 설치해야 합니다. 각 확장 기능은 자체 설치 지침과 문서를 제공합니다.

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 트라이그램 기반 텍스트 유사도 검색. PostgreSQL pg_trgm의 포팅 버전입니다. 문자열 간 유사도 점수 계산, 열에서 근사 일치 항목 찾기, 단어 단위 유사도 측정을 모두 SQL에서 수행할 수 있습니다. VillageSQL 0.0.4가 필요합니다.

vsql_fuzzystrmatch

저장소: villagesql/vsql-fuzzystrmatch 퍼지 문자열 매칭 함수. PostgreSQL fuzzystrmatch의 포팅 버전입니다. Soundex 발음 코드, 레벤슈타인 편집 거리(비용 설정 및 조기 종료 임계값 지원), Metaphone, Double Metaphone을 제공하여 이름 매칭, 맞춤법 교정, 발음 기반 중복 제거에 활용할 수 있습니다. VillageSQL 0.0.4가 필요합니다.

vsql_currency

저장소: villagesql/vsql-currency ISO 4217 통화 코드 유형. 164개 통화 코드 중 하나를 단일 바이트에 저장하는 currency 열 유형으로, 대소문자를 구분하지 않는 입력, 대문자 정규화 출력, 알파벳순 정렬, 인덱스를 지원합니다. adjust/pg-currency의 Rust 포팅 버전입니다.

vsql_oauth2

저장소: villagesql/vsql-oauth2 OAuth2/OIDC JWT 인증. IDENTIFIED WITH vsql_oauth2로 생성한 계정은 비밀번호 대신 JWT를 제시하여 인증합니다. 확장 기능은 구성된 RS256/ES256 공개 키로 서명을 검증하고 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 에이전트용 도구 표면으로 노출합니다. 리스너는 서버 프로세스 내부에서 실행됩니다. 에이전트는 스키마 목록 조회, 테이블 설명, 읽기 전용 쿼리 실행을 수행할 수 있으며, 쓰기는 활성화할 때까지 꺼져 있습니다. 도구 쿼리는 전용 데이터베이스 계정을 통해 실행되고 선택적 테이블 허용 목록, 행 수 상한, 호출별 타임아웃이 적용됩니다. 미리 보기 기능이므로 --vsql_allow_preview_extensions=ON으로 시작한 서버가 필요합니다.

커뮤니티 확장 기능

커뮤니티 확장 기능은 VillageSQL 확장 프레임워크(VEF)를 사용하여 제3자가 구축합니다. VillageSQL 팀에서 관리하지 않습니다.

vsql_statistics

저장소: ronaldbradford/vsql-statistics 관리자: Ronald Bradford 데이터 분석을 위한 통계적 집계 함수. IQR, 사분위수, 중앙값, Tukey 경계 이상치 탐지 — STATS_IQR. VillageSQL 0.0.4 이상이 필요합니다.

prometheus_exporter

저장소: ProxySQL/vsql-prometheus-exporter 관리자: ProxySQL 내장 Prometheus 메트릭 내보내기. HTTP /metrics 엔드포인트에서 Prometheus 노출 형식으로 MySQL 서버 메트릭(전역 상태, 전역 변수, InnoDB 메트릭, 복제 상태)을 노출합니다.

vsql_luhn

저장소: intojhanurag/vsql-luhn 관리자: intojhanurag Luhn 알고리즘 검증기 및 검사 숫자 생성기. luhn_valid()로 신용카드 번호, IMEI 코드, 캐나다 SIN 및 기타 업계 식별자를 검증하고, luhn_checkdigit()로 올바른 검사 숫자를 생성합니다.

vsql_nanoid

저장소: intojhanurag/vsql-nanoid 관리자: intojhanurag 짧고 URL 안전한 고유 식별자를 위한 NanoID 생성기. nanoid()는 21자 ID를 반환하며, nanoid_with(size[, alphabet])로 길이와 문자 집합을 사용자 지정할 수 있습니다. 암호학적으로 안전한 난수 소스를 사용합니다.

vsql_slugify

저장소: intojhanurag/vsql-slugify 관리자: intojhanurag 임의의 텍스트에서 URL 안전한 슬러그를 생성합니다 — 악센트가 있는 문자를 ASCII로 변환하고, 소문자로 만들고, 영숫자가 아닌 문자를 단일 구분자로 축약하고, 앞뒤 구분자를 제거합니다.

vsql_pgjwt

저장소: intojhanurag/vsql-pgjwt 관리자: intojhanurag SQL에서 직접 JSON Web Token을 서명하고 검증하고 디코딩합니다. HMAC(HS256, HS384, HS512) 및 RSA(RS256) 알고리즘을 지원합니다.

vsql_address_standardizer

저장소: jobala/vsql-address-standardizer 관리자: Japheth Obala 미국의 자유 형식 우편 주소를 번지, 도로명, 접미사, 도시, 주, 우편번호 구성 요소로 구문 분석합니다. 이 확장 기능은 PostgreSQL의 contrib address_standardizer에서 영감을 받았습니다.