コマンド構文
VERSION が指定されると、サーバーは {name}-{version}.veb を開き、
バージョンをマニフェストと照合し、一致しない場合は中止します。
{name}.veb がインストールされます。または、バージョン付きの
VEB のみが存在する場合は、一意の {name}-{version}.veb がインストールされます。 バージョンの選択を参照してください。
拡張機能は、コンパイルされたライブラリとメタデータを含む
.veb(VillageSQL拡張機能バンドル)ファイルとして配布されます。バージョンの選択
veb_dir 内の VEB ファイルの名前は、{name}.veb(バージョンなし)または {name}-{version}.veb(バージョン付き)のいずれかになります。特定のバージョン付き VEB をインストールするには、VERSION 句を追加します。
VERSION を指定すると、サーバーは vsql_uuid-0.2.0.veb を開き、その manifest.json 内のバージョンが 0.2.0 と一致することを確認します。
VERSION を指定しない場合、サーバーは次のようにファイルを解決します。
{name}.vebが存在する場合は、それをインストールします。バージョンはそのmanifest.jsonから読み取られます。- それ以外の場合、
{name}-{version}.vebがちょうど 1 つ存在すれば、それをインストールします。ファイル名内のバージョンはそのmanifest.jsonと照合して検証されます。 - それ以外の場合、インストールは失敗し、バージョンを指定する必要があります。
拡張機能の命名規則
VillageSQLは、異なるコンテキストで異なる命名規則を使用します。- SQLコマンド: アンダースコアを使用します:
INSTALL EXTENSION vsql_uuid - リポジトリ名: ハイフンを使用します:
github.com/villagesql/vsql-uuid - ファイル名: アンダースコアを使用します:
vsql_uuid.veb - manifest.json: SQLと一致するようにアンダースコアを使用します:
"name": "vsql_uuid"
必要な権限
INSTALL EXTENSION、UNINSTALL EXTENSION、および ALTER EXTENSION は、
EXTENSION_ADMIN 動的権限によって保護されています。これらのステートメントは、
実行中のサーバーにネイティブの拡張機能コードをロードするため、管理権限を必要とし、
権限のないアカウントでは使用できません。
EXTENSION_ADMIN は、グローバルスコープ(ON *.*)で付与される動的権限です。
SUPER も受け入れられます。そのため、
すでに SUPER を保持しているアカウントは、別途付与を受けなくてもこれらの
ステートメントを実行できます。
--initialize または --initialize-insecure によって作成されたデータディレクトリは、
root@localhost に EXTENSION_ADMIN を直接付与するため、新しいサーバーで手動の付与は
不要です。既存のデータディレクトリをその場でアップグレードした場合、SUPER を保持する
すべてのユーザーアカウントに EXTENSION_ADMIN が付与されます。ただしこれは、いずれの
アカウントもまだその権限を保持していない場合に限られるため、一度アップグレードされた
サーバーが後のアップグレードで再度補填されることはありません。予約された mysql.*
システムアカウントは除外されます。
どちらの権限も持たないアカウントは、拡張機能の処理が始まる前に拒否されます。
EXTENSION_ADMIN/SUPER を
チェックします。そのため、既存のセッションが取り消し後も権限を保持し続けることは
ありません。そのセッションの次のステートメントは、上に示したものと同じ
ERROR 1227 (42000) で失敗します。
前提条件
- 実行中のVillageSQLサーバーインスタンス
- 管理者権限(rootまたは同等の権限)
組み込み拡張機能のインストール
VillageSQLに付属する組み込み拡張機能は、すでにveb_dirにあります。単に有効にするだけです。
インストールの確認
機能のテスト
外部拡張機能のインストール
別途ダウンロードまたは構築された拡張機能の場合:外部拡張機能をインストールする前に、サーバーで
veb_dirを構成する必要があります。 veb_dirの構成を参照してください。1. .vebファイルのコピー
サーバーの拡張機能ディレクトリを見つけて、そこに.vebファイルをコピーします。
2. 拡張機能のインストール
VERSION 句を含めます。
{name}-{version}.veb が存在しない場合)です。
先に示した Version mismatch in '<file>' エラーとは異なるコードパスであり、
そちらはバージョン付きのファイル自体が存在する場合に発生します。
3. インストールの確認
トラブルシューティング
さらにトラブルシューティングについては、拡張機能の管理を参照してください。
次のステップ
拡張機能の管理
インストールされた拡張機能を監視およびトラブルシューティングします。
利用可能な拡張機能
インストールできる拡張機能を参照します。
拡張機能の作成
独自の拡張機能を構築します。

