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/falseyes/noon/off1/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 種類の通貨コードのいずれかを 1 バイトで格納する 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 へのステートメント単位のテレメトリ。完了したステートメントごとに 1 件のイベントを収集し、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) を使用して、サードパーティによって構築されています。VillageSQL チームによって保守されるものではありません。

vsql_statistics

リポジトリ: ronaldbradford/vsql-statistics メンテナー: Ronald Bradford データ分析のための統計集計関数。IQR、四分位数、中央値、および Tukey のフェンスを使用した外れ値検出 — STATS_IQR。VillageSQL 0.0.4 が必要です。

prometheus_exporter

リポジトリ: ProxySQL/vsql-prometheus-exporter メンテナー: ProxySQL 組み込みの Prometheus メトリクスエクスポートツール。MySQL サーバーのメトリクスを、Prometheus 形式の HTTP /metrics エンドポイントで公開します。グローバルステータス、グローバル変数、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 JSON Web Token の署名、検証、デコードを SQL 内で直接実行します。HMAC (HS256、HS384、HS512) と RSA (RS256) のアルゴリズムに対応します。

vsql_address_standardizer

リポジトリ: jobala/vsql-address-standardizer メンテナー: Japheth Obala 米国の自由形式の郵便住所を、番地、通り名、接尾辞、市、州、郵便番号の各要素に解析します。この拡張機能は PostgreSQL の contrib address_standardizer にインスパイアされています。