> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 利用可能な拡張機能

> AI、暗号化、ネットワーク、HTTP、UUID、およびジオメトリのための公式 VillageSQL 拡張機能。

VillageSQL には、組み込みの拡張機能が付属しており、VillageSQL チームによって構築および保守される公式拡張機能もサポートされています。`INSTALL EXTENSION` を使用して、これらの拡張機能のいずれかをインストールできます。

## 組み込み拡張機能

<Warning>
  ソースコードからビルドする場合、`vsql_complex` と `vsql_simple` のみが含まれます。以下の公式拡張機能は、個別のリポジトリで保守されています。
</Warning>

### vsql\_complex

**ステータス:** VillageSQL に組み込み
**リポジトリ:** [villagesql-server/villagesql/examples/vsql-complex](https://github.com/villagesql/villagesql-server/tree/main/villagesql/examples/vsql-complex)

電気工学、信号処理、および科学計算のための完全な算術演算をサポートする複素数データ型。

**機能:**

* 複素数 (a + bi) を格納するための `COMPLEX` 列型
* 文字列リテラル形式: `'(real,imaginary)'` (例: `'(3.0,4.0)'`)
* 算術演算: 加算、減算、乗算、除算
* ユーティリティ: `complex_real()`、`complex_imag()`、`complex_abs()`、`complex_conjugate()`
* バイナリストレージ: 16 バイト (2 つの double 型)

**インストール:**

```sql theme={null}
INSTALL EXTENSION vsql_complex;
```

**例:**

```sql theme={null}
CREATE TABLE signals (
    id INT PRIMARY KEY,
    impedance COMPLEX,
    frequency_response COMPLEX
);

INSERT INTO signals VALUES
    (1, '(50.0,0.0)', '(0.95,0.31)');

SELECT
    complex_abs(impedance) as magnitude,
    complex_add(impedance, frequency_response) as total
FROM signals;
```

## コア拡張機能

以下の拡張機能は、個別のリポジトリで保守されており、個別にビルドおよびインストールする必要があります。それぞれに独自のインストール手順とドキュメントが用意されています。

### vsql\_ai

**リポジトリ:** [villagesql/vsql-ai](https://github.com/villagesql/vsql-ai)

AI を活用した SQL 関数。SQL クエリのための AI プロンプトおよび埋め込み関数。Anthropic Claude、Google Gemini、OpenAI、およびローカルの Ollama をサポートします。

### vsql\_crypto

**リポジトリ:** [villagesql/vsql-crypto](https://github.com/villagesql/vsql-crypto)

暗号化関数。ハッシュ (MD5、SHA-1、SHA-256、SHA-512 など)、HMAC、AES 暗号化、パスワードハッシュ、および OpenSSL を使用したセキュアなランダムデータの生成。

### vsql\_cube

**リポジトリ:** [villagesql/vsql-cube](https://github.com/villagesql/vsql-cube)

N 次元ボックスおよびポイント型。最大 100 次元にわたって、幾何学的ボックスとポイントを格納およびクエリします。コンストラクタ、アクセサ、述語、距離、および幾何関数が利用可能です。VillageSQL 0.0.4 が必要です。

### vsql\_http

**リポジトリ:** [villagesql/vsql-http](https://github.com/villagesql/vsql-http)

HTTP クライアント関数。SQL クエリから HTTP リクエスト (GET、POST、PUT、DELETE、PATCH) を送信し、JSON 形式のレスポンスを受け取ります。また、URL のエンコードとデコードもサポートします。

### vsql\_network\_address

**リポジトリ:** [villagesql/vsql-network-address](https://github.com/villagesql/vsql-network-address)

ネットワークアドレス型。IPv4、IPv6、および MAC アドレスデータ型。検証、比較、およびネットワーク操作をサポートします。

### vsql\_uuid

**リポジトリ:** [villagesql/vsql-uuid](https://github.com/villagesql/vsql-uuid)

UUID データ型および関数。SQL でネイティブに UUID を生成および操作します。v1、v3、v4、v5、v6、および v7 をサポートします。ネイティブの 16 バイト UUID 型、タイムスタンプ抽出、および比較が可能です。

### vsql\_boolean

**リポジトリ:** [villagesql/vsql-boolean](https://github.com/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](https://github.com/villagesql/vsql-rest)

REST API サーバー。コードを書くことなく、データベーステーブルをライブの HTTP/HTTPS エンドポイントとして公開します。`SET GLOBAL` で設定し、URL フィルタでテーブルをクエリし、`/rpc/` からストアドファンクションを呼び出せます。 プレビュー機能であり、`--vsql_allow_preview_extensions=ON` で起動したサーバーが必要です。

### vsql\_trgm

**リポジトリ:** [villagesql/vsql-trgm](https://github.com/villagesql/vsql-trgm)

トライグラムによるテキスト類似度検索。PostgreSQL の `pg_trgm` の移植版。文字列間の類似度スコアの算出、列内の近似一致の検索、および単語単位の類似度の測定を、すべて SQL から実行できます。VillageSQL 0.0.4 が必要です。

### vsql\_fuzzystrmatch

**リポジトリ:** [villagesql/vsql-fuzzystrmatch](https://github.com/villagesql/vsql-fuzzystrmatch)

あいまい文字列照合関数。PostgreSQL の `fuzzystrmatch` の移植版。Soundex 音声コード、レーベンシュタイン編集距離 (コストの設定と早期終了のしきい値に対応)、Metaphone、および Double Metaphone を提供し、氏名の照合、スペル訂正、音声による重複排除に利用できます。VillageSQL 0.0.4 が必要です。

### vsql\_currency

**リポジトリ:** [villagesql/vsql-currency](https://github.com/villagesql/vsql-currency)

ISO 4217 通貨コード型。164 種類の通貨コードのいずれかを 1 バイトで格納する `currency` 列型。入力は大文字・小文字を区別せず、出力は正規化された大文字で、アルファベット順の並べ替えとインデックスに対応します。`adjust/pg-currency` の Rust 移植版。

### vsql\_oauth2

**リポジトリ:** [villagesql/vsql-oauth2](https://github.com/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](https://github.com/villagesql/vsql-stat-ch)

ClickHouse へのステートメント単位のテレメトリ。完了したステートメントごとに 1 件のイベントを収集し、ClickHouse のネイティブプロトコル (ポート 9000) または HTTP (ポート 8123) でバッチ送信します。トランスポートはサーバーの稼働中に切り替え可能です。プレビュー機能であり、`--vsql_allow_preview_extensions=ON` で起動したサーバーが必要です。

### vsql\_mcp

**リポジトリ:** [villagesql/vsql-mcp](https://github.com/villagesql/vsql-mcp)

Model Context Protocol サーバー。MCP Streamable HTTP 経由で、データベースを AI エージェント向けのツール面として公開します。リスナーはサーバープロセス内で動作します。エージェントはスキーマの一覧表示、テーブルの説明、読み取り専用クエリの実行ができます。書き込みは有効にするまでオフのままです。ツールのクエリは専用のデータベースアカウント経由で実行され、任意のテーブル許可リスト、行数上限、呼び出しごとのタイムアウトが適用されます。プレビュー機能であり、`--vsql_allow_preview_extensions=ON` で起動したサーバーが必要です。

## コミュニティ拡張機能

コミュニティ拡張機能は、VillageSQL 拡張フレームワーク (VEF) を使用して、サードパーティによって構築されています。VillageSQL チームによって保守されるものではありません。

### vsql\_statistics

**リポジトリ:** [ronaldbradford/vsql-statistics](https://github.com/ronaldbradford/vsql-statistics)
**メンテナー:** [Ronald Bradford](https://github.com/ronaldbradford)

データ分析のための統計集計関数。IQR、四分位数、中央値、および Tukey のフェンスを使用した外れ値検出 — `STATS_IQR`。VillageSQL 0.0.4 が必要です。

### prometheus\_exporter

**リポジトリ:** [ProxySQL/vsql-prometheus-exporter](https://github.com/ProxySQL/vsql-prometheus-exporter)
**メンテナー:** [ProxySQL](https://github.com/ProxySQL)

組み込みの Prometheus メトリクスエクスポートツール。MySQL サーバーのメトリクスを、Prometheus 形式の HTTP `/metrics` エンドポイントで公開します。グローバルステータス、グローバル変数、InnoDB メトリクス、およびレプリケーションステータスが含まれます。

### vsql\_luhn

**リポジトリ:** [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn)
**メンテナー:** [intojhanurag](https://github.com/intojhanurag)

Luhn アルゴリズムのバリデーターおよびチェックディジット生成ツール。`luhn_valid()` でクレジットカード番号、IMEI コード、カナダの SIN、その他の業界識別子を検証し、`luhn_checkdigit()` で正しいチェックディジットを生成します。

### vsql\_nanoid

**リポジトリ:** [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid)
**メンテナー:** [intojhanurag](https://github.com/intojhanurag)

短くて URL セーフな一意識別子のための NanoID ジェネレーター。`nanoid()` は 21 文字の ID を返します。`nanoid_with(size[, alphabet])` で長さと文字セットをカスタマイズできます。暗号論的に安全な乱数ソースを使用します。

### vsql\_slugify

**リポジトリ:** [intojhanurag/vsql-slugify](https://github.com/intojhanurag/vsql-slugify)
**メンテナー:** [intojhanurag](https://github.com/intojhanurag)

任意のテキストから URL セーフなスラグを生成します — アクセント付き文字を ASCII に変換し、小文字化し、英数字以外の文字を単一の区切り文字にまとめ、先頭と末尾の区切り文字を削除します。

### vsql\_pgjwt

**リポジトリ:** [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt)
**メンテナー:** [intojhanurag](https://github.com/intojhanurag)

JSON Web Token の署名、検証、デコードを SQL 内で直接実行します。HMAC (HS256、HS384、HS512) と RSA (RS256) のアルゴリズムに対応します。

### vsql\_address\_standardizer

**リポジトリ:** [jobala/vsql-address-standardizer](https://github.com/jobala/vsql-address-standardizer)
**メンテナー:** [Japheth Obala](https://github.com/jobala)

米国の自由形式の郵便住所を、番地、通り名、接尾辞、市、州、郵便番号の各要素に解析します。この拡張機能は PostgreSQL の contrib [address\_standardizer](https://github.com/postgis/address_standardizer) にインスパイアされています。
