クラスタ運用管理コマンド・インタプリタ(以降gs_shと記載します)は、GridDBクラスタの運用管理、およびデータ操作を提供するコマンドラインインターフェースツールです。
gs_shにより次のことができます。
- GridDBクラスタの運用管理
- GridDBクラスタの定義
- GridDBノードおよびクラスタの起動、停止
- ステータス、ログ表示
- GridDBクラスタのデータ操作
- データベース・ユーザ管理
- コンテナ管理
- 索引設定、削除
- TQL/SQLによる検索
gs_shを利用するには、あらかじめ以下を実施ください。
-
GridDBのセットアップ
- GridDBノード、クライアントライブラリのインストール
- ユーザ作成
- ネットワーク設定(GridDBクラスタ定義ファイル、ノード定義ファイル)
※ 手順の詳細に関しては、GridDB クイックスタートガイドの「GridDBのインストール」の章を参照してください。
-
SSHによるリモート接続設定
- gs_sh実行環境から各GridDBノード実行環境へ、OSユーザ「gsadm」でSSH接続するために必要な設定
※ SSH接続の手順の詳細に関しては、各OSのマニュアルを参照してください。
[メモ]
以下のOSでは、鍵交換アルゴリズムの追加が必要です。
RHEL9系の場合:
$ sudo update-crypto-policies --set DEFAULT:SHA1 $ sudo reboot # OSの再起動
Ubuntu 20.04の場合:
$ vi /etc/ssh/sshd_config # エディタで設定ファイルを編集 ... Kexalgorithms +diffie-hellman-group14-sha1 $ sudo systemctl reload sshd
Ubuntu 22.04の場合:
$ vi /etc/ssh/sshd_config # エディタで設定ファイルを編集 ... Kexalgorithms +diffie-hellman-group14-sha1 HostKeyAlgorithms +ssh-rsa $ sudo systemctl reload sshd
- gs_sh実行環境から各GridDBノード実行環境へ、OSユーザ「gsadm」でSSH接続するために必要な設定
gs_shには2種類の起動モードがあります。
-
対話モードで起動
-
gs_shを引数なしで実行すると、対話モードで起動されます。gs_shのプロンプトが表示され、サブコマンドの入力が可能になります。
$ gs_sh //サブコマンド「version」の実行 gs> version gs_sh version 5.0.0
-
-
バッチモードで起動
-
gs_shにユーザ作成のスクリプトファイルを指定すると、バッチモードで起動されます。スクリプトファイルに記述した一連のサブコマンドをバッチ処理します。バッチ処理実行後に、gs_shは終了します。
//スクリプトファイル(test.gsh)を指定して実行 $ gs_sh test.gsh
-
【メモ】
- 対話モードでサブコマンドを起動すると、
- 実行ユーザのホームディレクトリに.gssh_historyファイルが作成され、履歴が保存されます。
- 矢印キーを押すと以前起動したサブコマンドを20個まで、表示/実行することができます。
- サブコマンドの一部を入力しTabキーを押すと、サブコマンドの入力候補が一覧表示されます。
- gs_shは、OSユーザ「gsadm」で実行してください。
- gs_sh起動時に、gsadmユーザホームディレクトリ下の.gsshrcスクリプトファイルを自動的に読み込みます。.gsshrcの内容は、他のスクリプトファイルよりも先に読み込みます。
- スクリプトファイルの拡張子はgshです。
- スクリプトファイルは、文字コードUTF-8で記載します。
GridDBクラスタの運用管理やデータ操作を実行するにあたり、事前に以下の定義が必要です。
- 各ノード情報を ノード変数に定義
- ノード変数を利用して、GridDBクラスタ構成を クラスタ変数に定義
- GridDBクラスタの ユーザ情報を定義
ノード変数、クラスタ変数、ユーザ情報の定義方法について、以下に説明します。また、任意の変数定義、変数定義内容の表示、変数定義内容のスクリプトファイルへの保存および読み込み方法についても説明します。
GridDBノードのIPアドレスとポート番号を、ノード変数に定義します。
-
サブコマンド
setnode ノード変数名 IPアドレス ポート番号 [SSHポート番号] -
引数
引数 説明 ノード変数名 ノード変数名を指定します。既に同じ変数名が存在する場合は、定義を上書きします。 IPアドレス GridDBノードのIPアドレス(運用管理ツール接続用)を指定します。 ポート番号 GridDBノードのポート番号(運用管理ツール接続用)を指定します。 SSHポート番号 SSHのポート番号を指定します。省略する場合は22番を使用します。 -
例)
//4つのGridDBノードを定義 gs> setnode node0 192.168.0.1 10040 gs> setnode node1 192.168.0.2 10040 gs> setnode node2 192.168.0.3 10040 gs> setnode node3 192.168.0.4 10040
【メモ】
- ノード変数名に利用できるのは半角英数字と記号"_"のみです。
- 運用管理ツール接続用GridDBノード「IPアドレス」および「ポート番号」は、各ノードの ノード定義ファイル で確認してください。
- IPアドレス: /system/serviceAddress
- ポート番号: /system/servicePort
GridDBクラスタの構成を、クラスタ変数に定義します。
-
サブコマンド
マルチキャスト方式 setcluster <クラスタ変数名> <クラスタ名> <マルチキャストアドレス> <ポート番号> [<ノード変数>...] 固定リスト方式 setcluster <クラスタ変数名> <クラスタ名> FIXED_LIST <固定リスト方式のアドレスリスト> [<ノード変数>...] プロバイダ方式 setcluster <クラスタ変数名> <クラスタ名> PROVIDER <プロバイダ方式のURL> [<ノード変数>...] -
引数
引数 説明 クラスタ変数名 クラスタ変数名を指定します。既に同じ変数名が存在する場合は、定義を上書きします。 クラスタ名 クラスタ名を指定します。 マルチキャストアドレス [マルチキャスト方式で指定する場合] GridDBクラスタのマルチキャストアドレス(クライアント接続用)を指定します。 ポート番号 [マルチキャスト方式で指定する場合]GridDBクラスタのマルチキャストポート番号(クライアント接続用)を指定します。 ノード変数... GridDBクラスタを構成するノードをノード変数で指定します。GridDBクラスタの運用管理操作を行わない場合、ノード変数の指定は省略可能です。 固定リスト方式のアドレスリスト [固定リスト方式で指定する場合] アドレスとポートのリストを指定します。例) 192.168.15.10:10001,192.168.15.11:10001
クラスタ定義ファイル(gs_cluster.json)に設定されたクラスタ構成が固定リスト方式である場合、クラスタ定義ファイルの/cluster/notificationMemberのtransactionのアドレスとポートのリストを指定します。プロバイダ方式のURL [プロバイダ方式で指定する場合] アドレスプロバイダのURLを指定します。
クラスタ定義ファイル(gs_cluster.json)に設定されたクラスタ構成がプロバイダ方式である場合、クラスタ定義ファイルの/cluster/notificationProvider/urlの値を指定します。 -
例)
//GridDBクラスタ構成を定義 gs> setcluster cluster0 name 200.0.0.1 1000 $node0 $node1 $node2
【メモ】
- クラスタ変数名に利用できるのは半角英数字と記号"_"のみです。
- ノード変数を利用する際には、変数名の先頭に"$"をつけます。
- クラスタ変数に定義する「クラスタ名」、「マルチキャストアドレス」、「ポート番号」は、各GridDBノードのクラスタ定義ファイルで確認してください。
-
クラスタ名 : /cluster/clusterName
-
マルチキャストアドレス: /transaction/notificationAddress
-
ポート番号 : /transaction/notificationPort
※GridDBクラスタを構成するノードのクラスタ定義ファイルは、すべて同一の設定内容である必要があります。設定内容が異なる場合、クラスタを構成することはできません。
-
また、定義したクラスタ変数に対して、ノード変数の追加、削除を行うことができます。
-
サブコマンド
modcluster クラスタ変数名 add|remove ノード変数... -
引数
引数 説明 クラスタ変数名 ノードの追加、削除を行うクラスタ変数名を指定します。 add|remove ノード変数を追加する場合にはadd、ノード変数を削除する場合にはremoveを指定します。 ノード変数... クラスタ変数に追加、もしくは削除するノード変数を指定します。 -
例)
//定義済みのGridDBクラスタ構成にノードを追加 gs> modcluster cluster0 add $node3 //定義済みのGridDBクラスタ構成からノードを削除 gs> modcluster cluster0 remove $node3
【メモ】
- ノード変数を利用する際には、変数名の先頭に"$"をつけます。
GridDBクラスタ構成にSQLの接続先を定義します。 GridDB NewSQLインターフェースを使用する場合のみ設定します。
-
サブコマンド
マルチキャスト方式 setclustersql <クラスタ変数名> <クラスタ名> <SQLアドレス> <SQLポート番号> 固定リスト方式 setclustersql <クラスタ変数名> <クラスタ名> FIXED_LIST <固定リスト方式のSQLアドレスリスト> プロバイダ方式 setclustersql <クラスタ変数名> <クラスタ名> PROVIDER <プロバイダ方式のURL> -
引数
引数 説明 クラスタ変数名 クラスタ変数名を指定します。既に同じ変数名が存在する場合は、SQL接続情報を上書きします。 クラスタ名 クラスタ名を指定します。 SQLアドレス [マルチキャスト方式で指定する場合] SQLクライアント接続用の受信アドレスを指定します。 SQLポート番号 [マルチキャスト方式で指定する場合] SQLクライアント接続用のポート番号を指定します。 固定リスト方式のSQLアドレスリスト [固定リスト方式で指定する場合] アドレスとポートのリストを指定します。 例) 192.168.15.10:20001,192.168.15.11:20001
クラスタ定義ファイル(gs_cluster.json)に設定されたクラスタ構成が固定リスト方式である場合、クラスタ定義ファイルの/cluster/notificationMemberのsqlのアドレスとポートのリストを指定します。プロバイダ方式のURL [プロバイダ方式で指定する場合] アドレスプロバイダのURLを指定します。
クラスタ定義ファイル(gs_cluster.json)に設定されたクラスタ構成がプロバイダ方式である場合、クラスタ定義ファイルの/cluster/notificationProvider/urlの値を指定します。 -
例)
// NewSQLサーバに対して、NoSQLインターフェースとNewSQLインターフェースの両方を用いて接続する場合の定義方法 gs> setcluster cluster0 name 239.0.0.1 31999 $node0 $node1 $node2 gs> setclustersql cluster0 name 239.0.0.1 41999
【メモ】
- クラスタ変数名に利用できるのは半角英数字と記号"_"のみです。
- 既存のクラスタ変数名を指定するとSQL接続情報部分のみ上書きします。上書きする際は、既存の接続方式と同じ方式を指定する必要があります。
- SQLのみ使用する場合はこのコマンドだけ実行します。
- クラスタ変数に定義する「SQLアドレス」、「SQLポート番号」は、各GridDBノードのクラスタ定義ファイルで確認ください。
- SQLアドレス : /sql/notificationAddress
- SQLポート番号 : /sql/notificationPort
GridDBクラスタにアクセスするユーザおよびパスワードを定義します。
-
サブコマンド
setuser ユーザ名 パスワード [gsadmパスワード] -
引数
引数 説明 ユーザ名 GridDBクラスタにアクセスするユーザ名を指定します。 パスワード 対応するパスワードを指定します。 gsadm パスワード OSユーザ gsadmのパスワードを指定します。ノード起動(startnodeサブコマンド)を実行しない場合は、省略可能です。 -
例)
//GridDBクラスタにアクセスするユーザ、パスワード、およびgsadmのパスワードを定義 gs> setuser admin admin gsadm
【メモ】
-
ユーザ定義を行うと次の変数が定義されます。
変数名 格納する情報 user ユーザ名 password パスワード ospassword gsadmパスワード -
複数ユーザは定義できません。後から定義したユーザ、パスワードで上書きします。gs_shで複数のGridDBクラスタを操作する場合には、接続先クラスタを変更する度にsetuserサブコマンドでユーザ、パスワードを再設定してください。
任意の変数を定義します。
-
サブコマンド
set 変数名 [値] -
引数
引数 説明 変数名 変数名を指定します。 値 設定値を指定します。指定を省略することで、当該変数の設定値をクリアできます。 -
例)
//変数を定義 gs> set GS_PORT 10040 //変数の設定をクリア gs> set GS_PORT
【メモ】
- setサブコマンドにより、ノード変数やクラスタ変数の設定もクリアできます。
- 変数名に利用できるのは半角英数字と記号"_"のみです。
指定した変数の定義内容を表示します。
-
サブコマンド
show [変数名] -
引数
引数 説明 変数名 定義内容を表示する変数名を指定します。指定を省略すると、すべての定義済み変数の内容を表示します。 -
例)
//定義した全変数を定表示 gs> show ノード変数: node0=Node[192.168.0.1:10040,ssh=22] node1=Node[192.168.0.2:10040,ssh=22] node2=Node[192.168.0.3:10040,ssh=22] node3=Node[192.168.0.4:10040,ssh=22] クラスタ変数: cluster0=Cluster[name=name,200.0.0.1:1000,nodes=(node0,node1,node2)] その他の変数: user=admin password=***** ospassword=*****
【メモ】
- パスワード文字列は表示しません。"***"に置き換えて表示します。
変数に定義した内容をスクリプトファイルに保存します。
-
サブコマンド
save [スクリプトファイル名] -
引数
引数 説明 スクリプトファイル名 保存先となるスクリプトファイル名を指定します。スクリプトファイルの拡張子はgshです。
指定を省略すると、gsadmユーザホームディレクトリの.gsshrcファイルに保存します。 -
例)
//定義した変数をファイルに保存 gs> save test.gsh
【メモ】
- 保存先スクリプトファイルが存在しない場合、ファイルを新規作成します。保存先スクリプトファイルが存在する場合、内容を上書きします。
- スクリプトファイルは、文字コードUTF-8で記載します。
- ユーザ定義に関する内容(ユーザ、パスワード、gsadmパスワード)はスクリプトファイルに出力しません。
- .gsshrcスクリプトファイルの内容は、gs_sh起動時に自動的に読み込みます。
スクリプトファイルを読み込み、記載された処理を実行します。
-
サブコマンド
load [スクリプトファイル名] -
引数
引数 説明 スクリプトファイル名 実行するスクリプトファイルを指定します。
指定を省略すると、gsadmユーザホームディレクトリの.gsshrcファイルを再度読み込みます。 -
例)
//スクリプトファイルを実行 gs> load test.gsh
【メモ】
- スクリプトファイルの拡張子はgshです。
- スクリプトファイルは、文字コードUTF-8で記載します。
稼働中のGridDBクラスタに接続し、クラスタ変数とノード変数の定義を自動で行います。
-
サブコマンド
sync IPアドレス ポート番号 [クラスタ変数名 [ノード変数] ] -
引数
引数 説明 IPアドレス GridDBクラスタに参加している任意のGridDBノードのIPアドレスを指定します。 ポート番号 GridDBノードのポート番号(運用管理ツール接続用)を指定します。 クラスタ変数名 クラスタ変数名を指定します。
指定を省略した場合、クラスタ変数名は「scluster」です。ノード変数名 ノード変数名を指定します。
指定を省略した場合、ノード変数名は「snode+連番」です。 -
例)
gs> sync 192.168.0.1 10040 mycluster mynode //設定を確認 gs> show Node variable: mynode1=Node[192.168.0.1:10040,ssh=22] mynode2=Node[192.168.0.2:10040,ssh=22] mynode3=Node[192.168.0.3:10040,ssh=22] mynode4=Node[192.168.0.4:10040,ssh=22] mynode5=Node[192.168.0.5:10040,ssh=22] Cluster variable: mycluster=Cluster[name=mycluster,mode=MULTICAST,transaction=239.0.0.20:31999,sql=239.0.0.20:41999,nodes=($mynode1,$mynode2,$mynode3,$mynode4,$mynode5)] //設定を保存 gs> save
【メモ】
- 本コマンドは管理者ユーザのみ実行できます。
- 変数名に利用できるのは半角英数字と記号"_"のみです。
- gs_shを終了すると変数は破棄されます。saveサブコマンドで保存してください。
- 既存の変数名が存在する場合は、すべて上書きします。
GridDBクラスタの運用を管理するための機能として、管理ユーザのみ、以下の操作を実行できます。
- GridDBノードの起動、停止、クラスタへの参加、クラスタからの離脱 (startnode/stopnode/joincluster/leavecluster)
- GridDBクラスタの稼働開始、稼働停止 (startcluster/stopcluster)
- 各種情報取得
本節では、GridDBノードとGridDBクラスタのステータスについて説明します。
クラスタは、1台以上のノードから構成されます。 ノードは、起動・停止などのノード自身の状態をステータスとして持ちます。 クラスタは、クライアントからのデータ操作の受付可否の状態を表すステータスを持ちます。クラスタステータスは、クラスタを構成するノード群のステータスに応じて決まります。
以下は、gs_shのサブコマンド操作による、ノードステータスとクラスタステータスの遷移の例です。 クラスタはノード4台で構成されています。 クラスタを構成するノードを起動(startnode)すると、ノードステータスが「起動」になります。ノードを起動したうえでクラスタを開始(startcluster)すると、各ノードステータスがクラスタへの「参加」に変わり、さらに、クラスタステータスが「稼働」になります。
以下、ノードステータスとクラスタステータスについての詳細を説明します。
ノードステータス
ノードの起動・停止・参加・離脱の操作により、ノードのステータスが「停止」「起動」「参加」に遷移します。 ノードがクラスタに参加した場合には、参加したクラスタのステータスに応じて2種類の状態があります。
ステータス | ステータス名 | 説明 |
---|---|---|
参加 | SERVICING | ノードはクラスタに参加済みで、参加しているクラスタのステータスが「稼働」 |
WAIT | ノードはクラスタに参加済みで、参加しているクラスタのステータスが「中断」 | |
起動 | STARTED | ノードは起動済みで、クラスタには参加していない |
STARTING | ノード起動中 | |
停止 | STOP | ノード停止 |
STOPPING | ノード停止処理中 |
クラスタステータス
GridDBクラスタの稼働開始・稼働停止、または、GridDBノードの参加・離脱の操作により、GridDBクラスタの状態が、「停止」、「中断」、「稼働」のステータスに遷移します。 GridDBクラスタのステータスが「稼働」の場合のみ、クライアントからのデータ操作を受け付けることが可能です。
ステータス | ステータス名 | 説明 |
---|---|---|
稼働 | SERVICE_STABLE | クラスタ構成に定義されているすべてのノードがクラスタに参加している |
SERVICE_UNSTABLE | クラスタ構成に定義されているノードの半数超がクラスタに参加している | |
中断 | WAIT | クラスタ構成に定義されているノードの半数以上がクラスタから離脱している |
INIT_WAIT | クラスタ構成に定義されているノードの1台以上がクラスタから離脱している(初めてクラスタを稼働するときは、すべてのノードがクラスタに参加しなければ「稼働」状態にならない) | |
停止 | STOP | クラスタ構成に定義されているすべてのノードがクラスタから離脱している |
GridDBクラスタを構成する全ノードをクラスタへ参加させることで、GridDBクラスタのステータスが「停止」から「稼働」へ遷移します。また、半数以上のノード離脱でGridDBクラスタは「中断」、全ノード離脱でGridDBクラスタは「停止」します。
クラスタステータスを遷移させる参加・離脱の操作については、クラスタ構成の全ノードに対して行われる操作と、1台のノードに行われる操作の2種類があります。
操作 | 操作対象が全ノードの場合 | 操作対象がノード1台の場合 |
---|---|---|
参加 | startcluster 未参加の稼働ノード群を一括参加 | joincluster 未参加の稼働ノードを参加 |
離脱 | stopcluster 参加中のノード群を一括離脱 | leavecluster 参加中のノードを離脱 |
【メモ】
- 稼働中のノードのみ、クラスタの参加および離脱操作を行うことができます。
- 障害が発生したノードは、自動的にGridDBクラスタから離脱します。
- GridDBクラスタのステータスは、クラスタステータス情報表示サブコマンド(configcluster)で確認することができます。
各操作方法について、以下に説明します。
指定ノードを起動します。
-
サブコマンド
startnode ノード変数|クラスタ変数 [タイムアウト秒数] -
引数
引数 説明 ノード変数|クラスタ変数 起動するノードを、ノード変数もしくはクラスタ変数で指定します。
クラスタ変数を指定した場合、クラスタ変数に定義された全ノードを起動します。タイムアウト秒数 ノード起動完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//ノードの起動 gs> startnode $node1 ノード node1 を起動します。 すべてのノードが起動しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ノード変数またはクラスタ変数を利用する際には、変数名の先頭に"$"をつけます。
- 起動完了を待ち合わせることで、クラスタ起動処理(startclusterサブコマンド)をバッチ実行できます。
指定ノードを停止します。
-
サブコマンド
stopnode ノード|クラスタ変数 [ タイムアウト秒数 ] -
引数
引数 説明 ノード|クラスタ変数 停止するノードを、ノード変数もしくはクラスタ変数で指定します。
クラスタ変数を指定した場合、クラスタ変数に定義された全ノードを停止します。タイムアウト秒数 ノード停止完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//ノードの停止 gs> stopnode $node1 ノード node1 を停止します。 ノード node1 が停止処理を開始しました。 ノードの停止処理の完了を待っています。 すべてのノードが停止しました。
また、指定ノードを強制停止することもできます。
-
サブコマンド
stopnodeforce ノード|クラスタ変数 [ タイムアウト秒数 ] -
引数
引数 説明 ノード|クラスタ変数 強制停止するノードを、ノード変数もしくはクラスタ変数で指定します。
クラスタ変数を指定した場合、クラスタ変数に定義された全ノードを強制停止します。タイムアウト秒数 ノード停止完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//ノードの強制停止 gs> stopnodeforce $node1 ノード node1 を停止します。 ノード node1 が停止処理を開始しました。 ノードの停止処理の完了を待っています。 すべてのノードが停止しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ノード変数またはクラスタ変数を利用する際には、変数名の先頭に"$"をつけます。
- stopnodeサブコマンドでは、GridDBクラスタに参加中のノードは停止できません。stopnodeforceコマンドではGridDBクラスタに参加中のノードも停止できますが、データがロストする恐れがあります。
指定クラスタを稼働状態にするため、クラスタ未参加の稼働ノード群を一括参加させます。
-
サブコマンド
startcluster クラスタ変数 [タイムアウト秒数] -
引数
引数 説明 クラスタ変数 GridDBクラスタを、クラスタ変数で指定します。 タイムアウト秒数 クラスタへのノード参加の完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//GridDBクラスタの起動 gs> startcluster $cluster1 クラスタの開始を待っています。 クラスタが開始しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- クラスタ変数を利用する際には、変数名の先頭に"$"をつけます。
- 「停止」状態のGridDBクラスタを「稼働」状態にするには、全ノードをクラスタに参加させる必要があります。あらかじめGridDBクラスタを構成する全ノードが稼働中であることを確認してください。
GridDBクラスタを停止するために、GridDBクラスタ参加中のノード群を一括離脱させます。
-
サブコマンド
stopcluster クラスタ変数 [タイムアウト秒数] -
引数
引数 説明 クラスタ変数 GridDBクラスタを、クラスタ変数で指定します。 タイムアウト秒数 クラスタからノードの離脱完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//GridDBクラスタを停止 gs> stopcluster $cluster1 クラスタの停止を待っています。 クラスタが停止しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- クラスタ変数を利用する際には、変数名の先頭に"$"をつけます。
leaveclusterサブコマンドや障害などによってGridDBクラスタから一旦離脱したノードを、GridDBクラスタに再度参加させます。
-
サブコマンド
joincluster クラスタ変数 ノード変数 [タイムアウト秒数] -
引数
引数 説明 クラスタ変数 GridDBクラスタを、クラスタ変数で指定します。 ノード変数 参加させるノードを、ノード変数で指定します。 タイムアウト秒数 クラスタへの参加完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//ノード起動 gs> startnode $node2 ノード node2 を起動します。 すべてのノードが起動しました。 //ノード参加 joincluster $cluster1 $node2 ノードがクラスタに参加するのを待っています。 ノードがクラスタに参加しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- クラスタ変数およびノード変数を利用する際には、変数名の先頭に"$"をつけます。
- GridDBクラスタに参加できるのは、稼働中のノードのみです。参加させるノードが稼働中であることを確認してください。
指定ノードを稼働中のGridDBクラスタから離脱させます。また、指定ノードを稼働中のGridDBクラスタから強制離脱させることもできます。
-
サブコマンド
leavecluster ノード変数 [タイムアウト秒数] leaveclusterforce ノード変数 [タイムアウト秒数] -
引数
引数 説明 ノード変数 離脱するノードを、ノード変数で指定します。 タイムアウト秒数 クラスタからのノードが離脱完了の待合わせ時間を指定します。
-1を指定した場合、即時復帰します。指定がない、または0を指定した場合、時間制限無しで待ち合わせます。 -
例)
//ノードの離脱 gs> leavecluster $node2 ノードがクラスタから離脱するのを待っています。 ノードがクラスタから離脱しました。
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ノード変数を利用する際には、変数名の先頭に"$"をつけます。
稼働中のGridDBクラスタのステータス、クラスタを構成する各ノードのステータスを表示します。
-
サブコマンド
configcluster クラスタ変数 -
引数
引数 説明 クラスタ変数 GridDBクラスタを、クラスタ変数で指定します。 -
例)
//クラスタの情報を表示 gs> configcluster $cluster1 Name : cluster1 ClusterName : defaultCluster Designated Node Count : 4 Active Node Count : 4 ClusterStatus : SERVICE_STABLE Nodes: Name Role Host:Port Status ------------------------------------------------- node1 F 10.45.237.151:10040 SERVICING node2 F 10.45.237.152:10040 SERVICING node3 M 10.45.237.153:10040 SERVICING node4 F 10.45.237.154:10040 SERVICING
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ClusterStatusは、以下のいずれかになります。
- INIT_WAIT :クラスタ構成待ち
- SERVICE_STABLE :稼働中
- SERVICE_UNSTABLE :稼働中(指定した構成ノード数に達していない)
- Roleは、以下のいずれかになります。
- M:MASTER(マスタ)
- F:FOLLOWER(フォロワ)
- S:SUB_CLUSTER(マスタになる候補で一時的な状態)
- -:未稼働
GridDBクラスタの構成情報を表示します。
-
サブコマンド
config ノード変数 -
引数
引数 説明 ノード変数 表示対象のGridDBクラスタに所属するノードを、ノード変数で指定します。 -
例)
//クラスタの構成情報を表示 gs> config $node1 { "follower" : [ { "address" : "10.45.237.151", "port" : 10040 }, { "address" : "10.45.237.152", "port" : 10040 }, { "address" : "10.45.237.153", "port" : 10040 }, { "address" : "10.45.237.154", "port" : 10040 } ], "master" : { "address" : "10.45.237.155", "port" : 10040 }, "multicast" : { "address" : "239.0.5.111", "port" : 33333 }, "self" : { "address" : "10.45.237.150", "port" : 10040, "status" : "ACTIVE" } }
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ノード変数を利用する際には、変数名の先頭に"$"をつけます。
- 出力内容は、GridDBノードのバージョンにより異なります。詳細については、サポート窓口にお問い合わせください。
指定ノードの状態および統計情報を表示します。
-
サブコマンド
stat ノード変数 -
引数
引数 説明 ノード変数 表示対象のノードを、ノード変数で指定します。 -
例)
//ノードの状態、統計情報を表示 gs> stat $node1 { "checkpoint" : { "archiveLog" : 0, "backupOperation" : 0, "duplicateLog" : 0, "endTime" : 1413852025843, "mode" : "NORMAL_CHECKPOINT", : : }
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ノード変数を利用する際には、変数名の先頭に"$"をつけます。
- 出力内容は、GridDBノードのバージョンにより異なります。
指定ノードのログを表示します。
-
サブコマンド
logs ノード変数 -
引数
引数 説明 ノード変数 表示対象のノードを、ノード変数で指定します。 -
例)
//ノードのログを表示 gs> logs $node0 2013-02-26T13:45:58.613+0900 c63x64n1 4051 INFO SYSTEM_SERVICE ../server/system_service.cpp void SystemService::joinCluster(const char8_t*, uint32_t) line=179 : joinCluster requested (clusterName="defaultCluster", minNodeNum=1) 2013-02-26T13:45:58.616+0900 c63x64n1 4050 INFO SYSTEM_SERVICE ../server/system_service.cpp virtual void SystemService::JoinClusterHandler::callback(EventEngine&, util::StackAllocator&, Event*, NodeDescriptor) line=813 : ShutdownClusterHandler called g 2013-02-26T13:45:58.617+0900 c63x64n1 4050 INFO SYSTEM_SERVICE ../server/system_service.cpp void SystemService::completeClusterJoin() line=639 : completeClusterJoin requested 2013-02-26T13:45:58.617+0900 c63x64n1 4050 INFO SYSTEM_SERVICE ../server/system_service.cpp virtual void SystemService::CompleteClusterJoinHandler::callback(EventEngine&, util::StackAllocator&, Event*, NodeDescriptor) line=929 : CompleteClusterJoinHandler called
また、ログの出力レベルの表示、および変更ができます。
-
サブコマンド
logconf ノード変数 [カテゴリ名 [ログレベル]] -
引数
引数 説明 ノード変数 操作対象のノードを、ノード変数で指定します。 カテゴリ名 操作対象のログカテゴリ名を指定します。省略した場合、全ログカテゴリの出力レベルを 表示 します。 ログレベル ログレベルを指定すると、指定カテゴリのログレベルを 変更 します。
省略すると、指定カテゴリのログレベルを 表示 します。 -
例)
//ノードのログレベルを表示 gs> logconf $node0 { "CHECKPOINT_SERVICE" : "INFO", "CHUNK_MANAGER" : "ERROR", : } // ログレベルの変更 gs> logconf $node0 SYSTEM WARNING // カテゴリ名を指定したログレベルの表示 gs> logconf $node0 SYSTEM { "SYSTEM" : "WARNING" }
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- ログレベルはERROR、WARNING、INFO、DEBUGです。ログレベルの変更は、必ずサポート窓口の指示に従ってください。
- ノードの再起動により、ログレベルは初期化されます。ログレベルの変更内容は保持されません。
- 複数カテゴリのログレベルを一括変更することはできません。
実行中のSQL処理を表示します。
-
サブコマンド
showsql [クエリID] -
引数
引数 説明 クエリID 表示する対象のSQL処理を特定するIDです。
指定した場合は、指定したクエリIDのSQL処理情報のみ表示します。
未指定の場合は実行中のSQL処理の一覧を表示します。
クエリIDの値は実行中のSQL処理の表示にて取得できます。 -
表示項目
- elapsed time: start timeの値とgs_shを実行している端末のシステム時刻より計算した経過時間です。単位は秒です。
-
例)
gs[public]> showsql ======================================================================= query id: e6bf24f5-d811-4b45-95cb-ecc643922149:3 start time: 2019-04-02T06:02:36.939+09:00 elapsed time: 53 database name: public application name: gs_admin node: 192.168.56.101:10040 sql: INSERT INTO TAB_711_0101 SELECT a.id, b.longval FROM TAB_711_0001 a LEFT OU job id: e6bf24f5-d811-4b45-95cb-ecc643922149:3:5:0 node: 192.168.56.101:10040 #---------------------------
【メモ】
- start timeはsettimezoneサブコマンドによるタイムゾーン設定が反映された値が表示されます。タイムゾーン未設定の場合はデフォルトのタイムゾーンの値が表示されます。
接続先クラスタの各ノード内のスレッドが実行中のイベント一覧を表示します。
-
サブコマンド
showevent -
表示項目
- elapsed time: start timeの値とgs_shを実行している端末のシステム時刻より計算した経過時間です。単位は秒です。
-
例)
gs[public]> showevent ======================================================================= worker id: 0 start time: 2019-03-05T05:28:21.000+09:00 elapsed time: 1 application name: node: 192.168.56.101:10040 service type: TRANSACTION_SERVICE event type: PUT_MULTIPLE_ROWS cluster partition id: 5 #---------------------------
【メモ】
- start timeはsettimezoneサブコマンドによるタイムゾーン設定が反映された値が表示されます。タイムゾーン未設定の場合はデフォルトのタイムゾーンの値が表示されます。
コネクションの一覧を表示します。
-
サブコマンド
showconnection -
表示項目
- elapsed time: creation timeの値とgs_shを実行している端末のシステム時刻より計算した経過時間です。単位は秒です。
-
例)
gs[public]> showconnection ======================================================================= application name: gs_admin creation time: 2019-04-02T06:09:42.523+09:00 service type: TRANSACTION elapsed time: 106 node: 192.168.56.101:10001 remote: 192.168.56.101:56166 dispatching event count: 5 sending event count: 5 #---------------------------
【メモ】
- creation timeはsettimezoneサブコマンドによるタイムゾーン設定が反映された値が表示されます。タイムゾーン未設定の場合はデフォルトのタイムゾーンの値が表示されます。
実行中のSQL処理をキャンセルします。
-
サブコマンド
killsql クエリID -
引数
引数 説明 クエリID キャンセルする対象のSQL処理を特定するIDです。
指定する値は実行中のSQL処理の表示にて取得できます。 -
例)
gs[public]> killsql 5b9662c0-b34f-49e8-92e7-7ca4a9c1fd4d:1
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
データ操作を実行するには、操作対象のクラスタに接続する必要があります。 接続時に設定したデータベース(データベース名省略時は「public」)のデータが操作対象になります。
データ操作を実行するGridDBクラスタに接続します。
-
サブコマンド
connect クラスタ変数 [データベース名] -
引数
引数 説明 クラスタ変数 接続先となるGridDBクラスタを、クラスタ変数で指定します。 データベース名 データベース名を指定します。 -
例)
//GridDBクラスタに接続 //NoSQLの場合 gs> connect $cluster1 接続に成功しました(NoSQL)。 gs[public]> gs> connect $cluster1 userDB 接続に成功しました(NoSQL)。 gs[userDB]> //NewSQLの場合(NoSQL/NewSQLインターフェースの両方を設定) gs> connect $cluster1 接続に成功しました(NoSQL)。 接続に成功しました(NewSQL)。 gs[public]>
【メモ】
- データベース名が指定されていると、そのデータベースに接続します。データベース名省略時は「public」データベースに接続します。
- connectが成功するとプロンプトに接続先データベース名が表示されます。
- クラスタ変数を利用する際には、変数名の先頭に"$"をつけます。
- データ操作サブコマンドを実行する場合、GridDBクラスタに接続する必要があります。
- SQL接続先が指定されている場合(setclustersqlサブコマンドの実行)は、SQL接続も行われます。
- connectサブコマンド実行後に、settimezoneサブコマンドでタイムゾーン設定を変更した場合、変更後のタイムゾーン設定は再度、connectサブコマンドを実行するまで反映されません。タイムゾーン設定変更を行った後には再度、connectサブコマンドを実行してください。
検索を実行し、検索結果を保持します。
-
サブコマンド
tql コンテナ名 クエリ ; -
引数
引数 説明 コンテナ名 検索対象となるコンテナを指定します。 クエリ ; 実行するTQL文を指定します。TQL文の最後にはセミコロン(;)が必要です。 -
例)
//検索を実行 gs[public]> tql c001 select *; 5 件ヒットしました。(25 ms)
【メモ】
-
データ操作サブコマンドを実行する場合、GridDBクラスタに接続する必要があります。
-
TQL文の途中に改行を挿入可能です。
-
検索の実行時間がミリ秒で表示されます。
-
最新の検索結果を保持します。検索結果は、tqlまたはsqlサブコマンド実行時に破棄します。
-
TQLの詳細に関しては、GridDB TQLリファレンスの「TQL構文・演算機能」の章を参照してください。
-
TQL文の中に変数組み込みが可能です。ただし、組み込み可能な変数はsetサブコマンドまたはgetvalサブコマンドで定義した変数のみです。変数を利用する際には、変数名の先頭に"$"をつけます。変数として定義していない場合は"$文字列"として扱います。
-
例)
//変数を定義する gs[public]> set TABLENAME c001 //TQLを実行する gs[public]> tql $TABLENAME select *; 5 件ヒットしました。(25 ms) //内部では「tql c001 select *;」を実行した
SQL文を実行し、検索結果を保持します。
-
サブコマンド
sql SQL文 ; -
引数
引数 説明 SQL文 ; 実行するSQL文を指定します。SQL文の最後にはセミコロン(;)が必要です。 -
例)
gs[public]> sql select * from con1; → SQLの検索 10,000 件ヒットしました。(52 ms) gs[public]> get 1 → SQLの結果表示 id,name ---------------------- 0,tanaka 1 件の取得が完了しました。
SQL文の先頭が下記文字列のいずれかである場合、サブコマンド名sqlを省略することができます。
- select update insert replace delete create drop alter grant revoke pragma explain
【メモ】
-
sqlサブコマンド実行前に、SQL接続先を指定して接続connectを行っている必要があります。
-
最新の検索結果を保持します。検索結果は、sqlまたはtqlサブコマンド実行時に破棄します。
-
set password構文や先頭にコメントを含むSQL文の場合、サブコマンド名sqlは省略できません。
-
検索時、ヒット件数の取得処理が行われます。
-
検索の実行時間がミリ秒で表示されます。ヒット件数の取得にかかる時間は含まれません。
-
SQL文の種類により、以下のように結果が表示されます。
処理 正常終了時の実行結果 検索 SELECT 検索結果の件数を表示します。検索結果はサブコマンドget/getcsv/getnoprintで表示します。 更新 INSERT/UPDATE/DELETE 更新したロウ数を表示します。 DDL文 何も表示されません。 -
SQLの詳細に関しては、GridDB SQLリファレンスを参照してください。
-
SQL文の中に変数組み込みが可能です。ただし、組み込み可能な変数はsetサブコマンドまたはgetvalサブコマンドで定義した変数のみです。変数を利用する際には、変数名の先頭に"$"をつけます。変数として定義していない場合は"$文字列"として扱います。
-
例)
//変数を定義する gs[public]> set TABLENAME c001 //SQLを実行する gs[public]> sql select * from $TABLENAME; 5 件ヒットしました。(25 ms) //内部では「sql select * from c001;」を実行した
保持する検索結果から、指定件数を取得します。結果の出力方法には以下の3種類があります。
(A) 取得した結果を標準出力に表示します。
-
サブコマンド
get [取得件数] -
引数
引数 説明 取得件数 検索結果の取得件数を指定します。省略すると、全ての検索結果を取得して表示します。
標準出力の表示形式にはTABLE形式とCSV形式の2種類があります。
V5.5から表示形式のデフォルトがTABLE形式になります。以前の形式に戻す場合は「表示形式がCSVの場合」を実施してください。
(A-1) 標準出力の表示形式を設定します。
-
サブコマンド
setresultformat [TABLE|CSV] -
引数
引数 説明 TABLE|CSV 標準出力の表示形式をTABLEまたはCSVで設定します。デフォルトはTABLE形式で標準出力します。
例)
-
表示形式がTABLEの場合
//表示形式をTABLEに設定 gs[public]> setresultformat TABLE //検索を実行 gs[public]> select * from tim1; 検索を実行しました。 (1 ms) //結果を表示 gs[public]> get +--------------------------+-----------------------------+--------------------------------+ | date | micro | nano | +--------------------------+-----------------------------+--------------------------------+ | 2022-12-31T00:00:00.123Z | 2022-12-31T00:00:00.123456Z | 2022-12-31T00:00:00.123456789Z | +--------------------------+-----------------------------+--------------------------------+ 1 件の取得が完了しました。
-
表示形式がCSVの場合
//表示形式をCSVに設定 gs[public]> setresultformat CSV //検索を実行 gs[public]> select * from tim1; 検索を実行しました。 (2 ms) //結果を表示 gs[public]> get date,micro,nano 2022-12-31T00:00:00.123Z,2022-12-31T00:00:00.123456Z,2022-12-31T00:00:00.123456789Z 1 件の取得が完了しました。
【メモ】
- 一度設定するとgs_shの起動中はgetサブコマンドで、設定した表示形式が有効になります。
- 何度でも表示形式の切り替えは可能です。
(A-2) 標準出力の文字列長を設定します。
-
サブコマンド
setresultmaxwidth [文字列長] -
引数
引数 説明 文字列長 標準出力の文字列長を自然数で設定します。値はバイト数で設定され、半角英数字の場合は1バイト、日本語の場合は2バイトで設定されます。表示形式がTABLEの場合のみ適用されます。
例)
//検索を実行
gs[public]> select * from tim1;
検索を実行しました。 (28 ms)
gs[public]> get
+--------------------------+-----------------------------+--------------------------------+
| date | micro | nano |
+--------------------------+-----------------------------+--------------------------------+
| 2022-12-31T00:00:00.123Z | 2022-12-31T00:00:00.123456Z | 2022-12-31T00:00:00.123456789Z |
+--------------------------+-----------------------------+--------------------------------+
1 件の取得が完了しました。
//文字列長を設定
gs[public]> setresultmaxwidth 29
//検索を実行
gs[public]> select * from tim1;
検索を実行しました。 (2 ms)
//結果を表示
gs[public]> get
+--------------------------+-----------------------------+-------------------------------+
| date | micro | nano |
+--------------------------+-----------------------------+-------------------------------+
| 2022-12-31T00:00:00.123Z | 2022-12-31T00:00:00.123456Z | 2022-12-31T00:00:00.123456... |
+--------------------------+-----------------------------+-------------------------------+
1 件の取得が完了しました。
//文字列長を設定
gs[public]> setresultmaxwidth 26
//検索を実行
gs[public]> select * from tim1;
検索を実行しました。 (2 ms)
//結果を表示
gs[public]> get
+--------------------------+----------------------------+----------------------------+
| date | micro | nano |
+--------------------------+----------------------------+----------------------------+
| 2022-12-31T00:00:00.123Z | 2022-12-31T00:00:00.123... | 2022-12-31T00:00:00.123... |
+--------------------------+----------------------------+----------------------------+
1 件の取得が完了しました。
//文字列長を設定
gs[public]> setresultmaxwidth 22
//検索を実行
gs[public]> select * from tim1;
検索を実行しました。 (1 ms)
//結果を表示
gs[public]> get
+------------------------+------------------------+------------------------+
| date | micro | nano |
+------------------------+------------------------+------------------------+
| 2022-12-31T00:00:00... | 2022-12-31T00:00:00... | 2022-12-31T00:00:00... |
+------------------------+------------------------+------------------------+
1 件の取得が完了しました。
【メモ】
- 一度設定するとgs_shの起動中はgetサブコマンドのTABLE形式の表示で、設定した文字列長が有効になります。
- 何度でも文字列長の設定は可能です。
- 取得した結果の値が設定した文字列長より長い場合、設定した文字列長で区切って末尾に「...」が付与されます。
(B) 取得した結果をCSV形式でファイルに保存します。
-
サブコマンド
getcsv CSVファイル名 [取得件数] -
引数
引数 説明 CSVファイル名 検索結果を保存するCSVファイル名を指定します。 取得件数 検索結果の取得件数を指定します。省略すると、全ての検索結果を取得してファイルに保存します。
(C) 取得した結果を出力しません。
-
サブコマンド
getnoprint [取得件数] -
引数
引数 説明 取得件数 検索結果の取得件数を指定します。省略すると、全ての検索結果を取得します。
例)
//検索を実行
gs[public]> tql c001 select *;
5 件ヒットしました。
//1件目を取得して表示
gs[public]> get 1
name,status,count
mie,true,2
1 件の取得が完了しました。
//2~3件目を取得してファイルに保存
gs[public]> getcsv /var/lib/gridstore/test2.csv 2
2 件の取得が完了しました。
//4件目を取得
gs[public]> getnoprint 1
1 件の取得が完了しました。
//5件目を取得して表示
gs[public]> get 1
name,status,count
akita,true,45
1 件の取得が完了しました。
【メモ】
- データ操作サブコマンドを実行する場合、GridDBクラスタに接続する必要があります。
- 検索結果の1行目には、列名を出力します。
- 検索未実行、検索結果の全件取得、もしくは検索結果の破棄後に、検索結果の取得を行うとエラーとなります。
- NULL値はコマンドによってそれぞれ以下のように出力されます。
- get: (NULL)
- getcsv: 引用符のない空文字
- TIMESTAMP型のカラム値は次の形式で出力されます。
- 時刻フォーマット: ISO8601形式
- タイムゾーン: settimezoneサブコマンドによるタイムゾーン設定値 未設定の場合はUTC
- 例: 2018-11-07T12:30:00.417Z、2019-05-01T09:30:00.000+09:00
保持する検索結果を取得して、任意の変数に設定します。
-
サブコマンド
getval 変数名 [変数名...] -
引数
引数 説明 変数名 変数名を指定します。 -
例)
//SQLを実行 gs> sql select id, name from con1; 2件ヒットしました。 //1件目の検索結果を取得し、変数に設定 gs> getval ID NAME 1件の検索結果を取得し、変数に値を定義しました。 //表示 gs> show ID 1 gs> show NAME tanaka //2件目の検索結果を取得し、変数に設定 gs> getval ID NAME 1件の検索結果を取得し、変数に値を定義しました。 //表示 gs> show ID 2 gs> show NAME suzuki //3件目は結果なし gs> getval ID NAME 0件の検索結果を取得し、変数をクリアしました。 //表示 gs> show ID gs> show NAME
【メモ】
- 変数名に利用できるのは半角英数字と記号"_"のみです。
- 変数名には大文字小文字の区別があります。
- 変数名の最大文字列長は256文字です。
- 結果がNULLの場合、当該変数の値はクリアされます。
- EXPLAIN、EXPLAIN ANALYZEの検索結果を変数に代入することはできません。
- 変数に利用可能な値の型は、GSTypeのBOOL、BYTE、DOUBLE、FLOAT、INTEGER、LONG、SHORT、STRING、TIMESTAMPのみです。
- 変数に代入可能な値はsqlサブコマンドもしくはtqlサブコマンドの検索結果のみです。
- 検索結果のカラム数より変数名の個数を多く定義することはできません。変数名の個数より検索結果のカラム数が多い場合は定義した変数名分の検索結果を設定します。
指定TQL文の実行計画を表示します。検索は実行しません。
-
サブコマンド
tqlexplain コンテナ名 クエリ ; -
引数
引数 説明 コンテナ名 対象となるコンテナを指定します。 クエリ ; 実行計画を取得するTQL文を指定します。TQL文の最後にはセミコロン(;)が必要です。 -
例)
//実行計画を取得 gs[public]> tqlexplain c001 select * ; 0 0 SELECTION CONDITION NULL 1 1 INDEX BTREE ROWMAP 2 0 QUERY_EXECUTE_RESULT_ROWS INTEGER 0
また、指定TQL文を実際に実行して、実行計画とともに処理行数等の実測値を表示することもできます。
-
サブコマンド
tqlanalyze コンテナ名 クエリ ; -
引数
引数 説明 コンテナ名 対象となるコンテナを指定します。 クエリ ; 実行計画を取得するTQL文を指定します。TQL文の最後にはセミコロン(;)が必要です。 -
例)
//検索を実行して実行計画を取得 gs[public]> tqlanalyze c001 select *; 0 0 SELECTION CONDITION NULL 1 1 INDEX BTREE ROWMAP 2 0 QUERY_EXECUTE_RESULT_ROWS INTEGER 5 3 0 QUERY_RESULT_TYPE STRING RESULT_ROW_ID_SET 4 0 QUERY_RESULT_ROWS INTEGER 5
【メモ】
- データ操作サブコマンドを実行する場合、GridDBクラスタに接続する必要があります。
- 検索結果は保持しないため、検索結果の取得はできず、tqlcloseサブコマンド実行の必要もありません。検索結果が必要な場合は、tqlサブコマンドでクエリを実行してください。
- パーティションテーブル(コンテナ)は非対応です。実行した場合はエラーとなります。
tqlをクローズして、保持する検索結果を破棄します。
-
サブコマンド
tqlclose
クエリをクローズして、保持する検索結果を破棄します。
-
サブコマンド
queryclose
例)
//検索結果を破棄
gs[public]> tqlclose
gs[public]> queryclose
【メモ】
- 検索結果は、下記のタイミングで破棄されます。
- tqlclose または querycloseサブコマンド実行時
- tqlまたはsqlサブコマンドによる新規検索実行時
- disconnectサブコマンドによるGridDBクラスタからの切断時
- 検索結果の破棄後に検索結果の取得(getサブコマンドなど)を行うとエラーとなります。
GridDBクラスタから切断します。
-
サブコマンド
disconnect -
例)
//GridDBクラスタから切断 gs[public]> disconnect gs>
【メモ】
- 保持している検索結果は破棄します。
- 切断すると、プロンプトの接続データベース名の表示が無くなります。
SQLの検索実行時、件数取得処理を実行するかどうかを設定します。
-
サブコマンド
sqlcount boolean -
引数
引数 説明 boolean FALSEを指定するとsqlサブコマンドによる検索時に件数取得処理を実行しません。また、ヒット件数も表示されなくなります。既定値はTRUEです。 -
例)
gs[public]> sql select * from mycontainer; 25550 件ヒットしました。(33 ms) gs[public]> sqlcount FALSE gs[public]> sql select * from mycontainer; 検索を実行しました。(33 ms)
【メモ】
- FALSEを指定した場合、検索時のヒット件数が表示されない代わりにレスポンスが早くなります。なお、表示される実行時間には影響しません。
データベース管理を実行するサブコマンドについて説明します。 データベース管理は、操作対象のクラスタに接続してから実行してください。(サブコマンド connect)
指定された名前のデータベースを作成します。
-
サブコマンド
createdatabase データベース名 -
引数
引数 説明 データベース名 作成するデータベースの名前を指定します。 -
例)
//"db1"という名前のデータベースを作成 gs[public]> createdatabase db1
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- 作成直後のデータベースは、管理ユーザのみがアクセスできます。必要に応じて一般ユーザにアクセス権を付与してください。
指定された名前のデータベースを削除します。
-
サブコマンド
dropdatabase データベース名 -
引数
引数 説明 データベース名 削除するデータベースの名前を指定します。 -
例)
//以下のようなデータベースを削除 //db1:データベース内にコンテナがない //db2:データベースが存在しない //db3:データベース内にコンテナがある gs[public]> dropdatabase db1 // 正常終了 gs[public]> dropdatabase db2 // 異常終了 D20340: データベース "db2"は存在しません。 gs[public]> dropdatabase db3 // 異常終了 D20336: データベース削除でエラーが発生しました。 : msg=[[145045:JC_DATABASE_NOT_EMPTY] Illegal target error by non-empty database.]
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- デフォルト接続先であるpublicデータベースは削除できません。
現在のカレントデータベース名を表示します。
-
サブコマンド
getcurrentdatabase -
例)
gs[db1]> getcurrentdatabase db1
データベース一覧およびアクセス権情報を表示します。
-
サブコマンド
showdatabase [データベース名] -
引数
引数 説明 データベース名 表示するデータベースの名前を指定します。 -
例)
gs[public]> showdatabase Name ACL --------------------------------- public ALL_USER DATABASE001 user01 ALL DATABASE001 user02 READ DATABASE002 user03 ALL DATABASE003 gs[public]> showdatabase DATABASE001 Name ACL --------------------------------- DATABASE001 user01 ALL DATABASE001 user02 READ
【メモ】
- 一般ユーザの場合は、アクセス権が付与されているデータベースのみが表示されます。管理ユーザの場合は、全てのデータベースの一覧が表示されます。
データベースへのアクセス権を付与します。
-
サブコマンド
grantacl 権限 データベース名 ユーザ名 -
引数
引数 説明 権限 アクセス権の権限(ALL、READ)を指定します。
「ALL」権限はコンテナ作成やロウ登録、検索、索引作成などコンテナに関するすべての操作が実行できます。
「READ」権限は検索の操作のみ実行できます。データベース名 アクセス権付与の対象となるデータベース名を指定します。 ユーザ名 アクセス権を付与するユーザの名前を指定します。 -
例)
gs[public]> grantacl ALL DATABASE001 user01
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- データベースに既にアクセス権が付与されているユーザを指定した場合はエラーになります。
- 必要に応じて、アクセス権の剥奪(revokeaclサブコマンド)を実行後、本コマンドを実行ください。
- データベース1つに対して複数ユーザにアクセス権を付与することができます。
データベースへのアクセス権を剥奪します。
-
サブコマンド
revokeacl 権限 データベース名 ユーザ名 -
引数
引数 説明 権限 アクセス権の権限(ALL、READ)を指定します。 データベース名 アクセス権剥奪の対象となるデータベース名を指定します。 ユーザ名 アクセス権を剥奪するユーザの名前を指定します。 -
例)
gs[public]> revokeacl ALL DATABASE001 user02
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
ユーザ管理を実行するサブコマンドについて説明します。 ユーザ管理は、操作対象のクラスタに接続してから実行してください(サブコマンド connect)。
指定された名前の一般ユーザを作成します。
-
サブコマンド
createuser ユーザ名 パスワード -
引数
引数 説明 ユーザ名 作成するユーザの名前を指定します。 パスワード 作成するユーザのパスワードを指定します。 -
例)
gs[public]> createuser user01 pass001
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
- 先頭が"gs#"で始まる名前は管理ユーザ用なので、一般ユーザの名前としては指定できません。
- 管理ユーザを作成する場合、クラスタを構成する全ノードでgs_adduserコマンドを使用して作成してください。
指定された名前のユーザを削除します。
-
サブコマンド
dropuser ユーザ名 -
引数
引数 説明 ユーザ名 削除するユーザの名前を指定します。 -
例)
gs[public]> dropuser user01
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
パスワードを変更します。
-
サブコマンド
一般ユーザのみ実行 setpassword パスワード 管理ユーザのみ実行 setpassword ユーザ名 パスワード -
引数
引数 説明 パスワード 変更するパスワードを指定します。 ユーザ名 パスワードを変更するユーザの名前を指定します。 -
例)
gs[public]> setpassword newPass009
【メモ】
- 一般ユーザは、自分のパスワードのみ変更可能です。
- 管理ユーザは、他の一般ユーザのパスワードのみ変更可能です。
一般ユーザとロールの情報を表示します。
-
サブコマンド
showuser [ユーザ名|ロール名] -
引数
引数 説明 ユーザ名 表示するユーザ名またはロール名を指定します。 -
例)
gs[public]> showuser Name Type -------------------------------------------- user001 General User ldapUser Role ldapGroup Role gs[public]> showuser user01 Name : user001 Type : General User GrantedDB: public DATABASE001 ALL DATABASE003 READ gs[public]> showuser ldapUser Name : ldapUser Type : Role GrantedDB: public DATABASE002 ALL
【メモ】
- 管理ユーザのみが実行可能なコマンドです。
コンテナへの操作を実行するサブコマンドについて説明します。 コンテナ管理は、操作対象のクラスタに接続してから実行してください(サブコマンド connect)。 接続先のデータベース上のコンテナが操作対象になります。
コンテナを作成します。
-
サブコマンド(簡易版)
コンテナ(コレクション) createcollection コンテナ名 カラム名 タイプ [カラム名 タイプ …] コンテナ(時系列コンテナ) createtimeseries コンテナ名 圧縮方式 カラム名 タイプ [カラム名 タイプ …] -
サブコマンド(詳細版)
コンテナ(コレクション/時系列コンテナ) createcontainer コンテナ定義ファイル [コンテナ名] -
各引数の説明
引数 説明 コンテナ名 作成するコンテナの名前を指定します。createcontainerコマンドの場合に省略すると、コンテナ定義ファイルに記述されているコンテナ名でコンテナ作成します。 カラム名 カラム名を指定します。 タイプ カラムのタイプを指定します。 圧縮方式 時系列データの場合、データの圧縮方式を指定します。 コンテナ定義ファイル コンテナ定義情報をJSON形式で格納したファイルを指定します。
簡易版
コンテナ名とカラム情報(カラム名とタイプ)を指定してコンテナを作成します。
- 時系列圧縮機能はGridDB V5.0で廃止されました。時系列データの圧縮方式は"NO"のみ指定できます。"SS"と"HI"は指定できません。
- コレクションは、ロウキー指定ありで作成されます。第一カラムがロウキーになります。
- 複合ロウキー、複合索引、カラム制約、索引名を指定する場合は、詳細版を利用してください。
詳細版
コンテナ定義情報をjsonファイルで指定してコンテナを作成します。
-
コンテナ定義情報は、エクスポートツールで出力されるメタ情報ファイルの定義と同じです。カラムのタイプやデータの圧縮方式、コンテナ定義の形式などは、コンテナデータファイルの形式のメタデータファイルを参照してください。ただし、以下の情報は、エクスポートコマンドのメタ情報ファイルでは定義されていますが、本コマンドでは無効となります。
- version :エクスポートツールバージョン
- database :データベース名
- containerFileType :エクスポートデータファイルタイプ
- containerFile :エクスポートファイル名
- partitionNo :パーティション番号
-
1つのコンテナ定義ファイルには、1つのコンテナ定義を記述してください。
-
引数でコンテナ名を省略した場合、コンテナ定義ファイルに記述されているコンテナ名で作成します。
-
引数でコンテナ名を指定した場合、コンテナ定義ファイルのコンテナ名は無視して引数のコンテナ名で作成します。
-
コンテナ定義ファイルにデータベース名が記述されていてもエラーとはなりませんが、その名前は無視され接続中のデータベース上に作成します。
-
パーティションテーブルは作成対象外です。コンテナ定義ファイルにテーブルパーティショニング情報が設定されていた場合はエラーになります。
-
コンテナ定義ファイルを利用する場合、エクスポートの機能で--outオプションを指定するとメタ情報ファイルが出力されます。出力されたメタ情報ファイルを編集して、コンテナ定義ファイルとして流用することができます。
-
例) 出力されたメタ情報ファイルをコンテナ定義ファイルとして流用する場合
{ "version":"2.1.00", ←無効 "container":"container_354", "database":"db2", ←無効 "containerType":"TIME_SERIES", "containerFileType":"binary", ←無効 "containerFile":"20141219_114232_098_div1.mc", ←無効 "rowKeyAssigned":true, "partitionNo":0, ←無効 "columnSet":[ { "columnName":"timestamp", "type":"timestamp", "notNull":true }, { "columnName":"active", "type":"boolean", "notNull":true }, { "columnName":"voltage", "type":"double", "notNull":true } ] }
コンテナを削除します。
-
サブコマンド
dropcontainer コンテナ名 -
引数
引数 説明 コンテナ名 削除するコンテナの名前を指定します。 -
例)
gs[public]> dropcontainer Con001
【メモ】
- パーティションテーブル(コンテナ)は非対応です。実行した場合はエラーとなります。
- パーティションテーブル(コンテナ)の削除にはSQLを使用してください。
コンテナにロウを登録します。
-
サブコマンド
putrow コンテナ名 値 [値...] -
引数
引数 説明 コンテナ名 ロウを登録するコンテナの名前を指定します。 値 登録するロウの値を指定します。 -
例)
gs[public]> putrow mycontainer 'key1' 1 1.0 gs[public]> putrow mycontainer 'key2' 2 2.0 gs[public]> putrow mycontainer 'key3' 3 null //結果確認 gs[public]> tql mycontainer select *; 3 results. (1 ms) gs[public]> get key,val1,val2 key1,1,1.0 key2,2,2.0 key3,3,(NULL) 3 results had been acquired.
コンテナのロウを削除します。
-
サブコマンド
removerow コンテナ名 ロウキー値 [ロウキー値...] -
引数
引数 説明 コンテナ名 ロウを削除するコンテナの名前を指定します。 値 削除するロウのロウキー値を指定します。 -
例)
gs[public]> removerow mycontainer 'key1' gs[public]> removerow mycontainer 'key2' //結果確認 gs[public]> tql mycontainer select *; 1 results. (1 ms) gs[public]> get key,val1,val2 key3,3,(NULL) 1 results had been acquired.
【メモ】
- 複合ロウキーが設定されたコンテナの場合、すべてのロウキーを指定する必要があります。
コンテナ情報を表示します。
-
サブコマンド
showcontainer [コンテナ名] -
引数
引数 説明 コンテナ名 表示対象のコンテナ名を指定します。省略した場合、全てのコンテナの一覧を表示します。 -
例)
//コンテナ一覧を表示 gs[public]> showcontainer Database : public Name Type PartitionId --------------------------------------------- TEST_TIME_0001 TIME_SERIES 3 TEST_TIME_0004 TIME_SERIES 12 TEST_TIME_0005 TIME_SERIES 26 cont003 COLLECTION 27 TABLE_01 COLLECTION 58 TEST_COLLECTION_0001 COLLECTION 79 //指定コンテナの情報を表示 gs[public]> showcontainer cont003 Database : public Name : cont003 Type : COLLECTION Partition ID: 27 DataAffinity: - Columns: No Name Type CSTR RowKey ------------------------------------------------------------------------------ 0 col1 INTEGER NN [RowKey] 1 col2 STRING 2 col3 TIMESTAMP Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 col1 Name : Type : TREE Columns: No Name -------------------------- 0 col2 Name : myIndex Type : TREE Columns: No Name -------------------------- 0 col2 1 col3
【メモ】
-
カレントデータベースのコンテナ情報が表示されます。
-
コンテナ一覧で表示するのは、「コンテナ名」、「コンテナタイプ」、「パーティションID」です。
-
指定コンテナの情報で表示するのは、「コンテナ名」、「コンテナタイプ」、「パーティションID」、「定義したカラム名」、「カラムのデータ型」、「カラム制約(CSTR)」、「索引情報」、「テーブルパーティショニング情報」です。
-
「カラム制約(CSTR)」には、NOT NULL制約(NN)の有無が表示されます。
-
「テーブルパーティショニング情報」は、JDBC接続されている場合は詳細な情報が表示されます。表示される項目は、「パーティショニングの種別」(Partition Type)、「パーティショニングキーのカラム名」(Partition Column)、さらに、インターバルの場合は「分割幅値」(Partition Interval Value)「単位」(Partition Interval Unit)、ハッシュの場合は「分割数」(Partition Division Count)です。インターバル-ハッシュパーティショニングの場合は、インターバルとハッシュのそれぞれについて各項目が表示されます。
-
例)
//指定コンテナの情報を表示 (JDBC接続されている場合) gs[userDB]> showcontainer time018 Database : userDB Name : time018 Type : TIME_SERIES Partition ID: 37 DataAffinity: - Partitioned : true Partition Type : INTERVAL Partition Column : date Partition Interval Value : 730 Partition Interval Unit : DAY Sub Partition Type : HASH Sub Partition Column : date Sub Partition Division Count : 16 : : //指定コンテナの情報を表示 (JDBC接続されていない場合) gs[userDB]> showcontainer time018 Database : userDB Name : time018 Type : TIME_SERIES Partition ID: 37 DataAffinity: - Partitioned : true (need SQL connection for details) : :
テーブル情報を表示します。showcontainerとの互換コマンドです。
-
サブコマンド
showtable [テーブル名] -
引数
引数 説明 テーブル名 表示対象のテーブル名を指定します。省略した場合、全てのテーブルの一覧を表示します。
コンテナ名からコンテナを検索します。
-
サブコマンド
searchcontainer [コンテナ名] -
引数
引数 説明 コンテナ名 検索対象のコンテナ名を指定します。指定しない場合、すべてのコンテナを表示します。また、コンテナ名にワイルドカード(「%」は任意の0文字以上、「_」は任意の一文字)が指定できます。 -
例)
gs[public]> searchcontainer mycontainer mycontainer gs[public]> searchcontainer my% my my_container mycontainer gs[public]> searchcontainer my\_container my_container
ビュー名からビューを検索します。
-
サブコマンド
searchview [ビュー名] -
引数
引数 説明 ビュー名 検索対象のビュー名を指定します。指定しない場合、すべてのビューを表示します。また、ビュー名にワイルドカード(「%」は任意の0文字以上、「_」は任意の一文字)が指定できます。 -
例)
gs[public]> searchview myview myview gs[public]> searchview my% my my_view myview gs[public]> searchview my\_view my_view
指定したコンテナのカラムに索引を作成します。
-
サブコマンド
createindex コンテナ名 カラム名 索引タイプ... -
引数
引数 説明 コンテナ名 索引操作対象のカラムが所属するコンテナ名を指定します。 カラム名 索引操作対象のカラム名を指定します。 索引タイプ... 索引タイプを指定します。索引タイプはTREE、SPATIALのいずれかを指定します。 -
例)
//索引の作成 gs[public]> createindex cont003 col2 tree gs[public]> showcontainer cont003 Database : public Name : cont003 Type : COLLECTION Partition ID: 27 DataAffinity: - Columns: No Name Type CSTR RowKey ------------------------------------------------------------------------------ 0 col1 INTEGER NN [RowKey] 1 col2 STRING 2 col3 TIMESTAMP Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 col1 Name : Type : TREE Columns: No Name -------------------------- 0 col2
【メモ】
- 作成済みの索引を指定しても、エラーは発生しません。
- 索引名は未対応です。索引名を付加する場合は、コンテナ作成(詳細版)またはSQLを使用してください。
指定したコンテナのカラムに複合索引を作成します。
-
サブコマンド
createcompindex コンテナ名 カラム名... -
引数
引数 説明 コンテナ名 索引操作対象のカラムが所属するコンテナ名を指定します。 カラム名 索引操作対象のカラム名を指定します。複数指定します。 -
例)
//索引の作成 gs[public]> createcompindex cont003 col2 col3 gs[public]> showcontainer cont003 Database : public Name : cont003 Type : COLLECTION Partition ID: 27 DataAffinity: - Columns: No Name Type CSTR RowKey ------------------------------------------------------------------------------ 0 col1 INTEGER NN [RowKey] 1 col2 STRING 2 col3 TIMESTAMP Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 col1 Name : Type : TREE Columns: No Name -------------------------- 0 col2 1 col3
【メモ】
- 作成済みの索引を指定しても、エラーは発生しません。
- 索引名は未対応です。索引名を付加する場合は、コンテナ作成(詳細版)またはSQLを使用してください。
- パーティションテーブルに対する操作は非対応です。コンテナ名にパーティションテーブルを指定した場合はエラーとなります。
指定したコンテナのカラムの索引を削除します。
-
サブコマンド
dropindex コンテナ名 カラム名 索引タイプ... -
引数
引数 説明 コンテナ名 索引操作対象のカラムが所属するコンテナ名を指定します。 カラム名 索引操作対象のカラム名を指定します。 索引タイプ... 索引タイプを指定します。索引タイプはTREE、SPATIALのいずれかを指定します。 -
例)
//索引の削除 gs[public]> showcontainer cont004 Database : public Name : cont004 : : Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 id Name : myIndex Type : TREE Columns: No Name -------------------------- 0 value gs[public]> dropindex cont004 value tree gs[public]> showcontainer cont004 Database : public Name : cont004 : : Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 id
【メモ】
- 作成されていない索引を指定しても、エラーは発生しません。
指定したコンテナのカラムの複合索引を削除します。
-
サブコマンド
dropcompindex コンテナ名 カラム名... -
引数
引数 説明 コンテナ名 索引操作対象のカラムが所属するコンテナ名を指定します。 カラム名 索引操作対象のカラム名を指定します。複数指定します。 -
例)
//索引の削除 gs[public]> showcontainer cont003 Database : public Name : cont003 Type : COLLECTION Partition ID: 27 DataAffinity: - Columns: No Name Type CSTR RowKey ------------------------------------------------------------------------------ 0 col1 INTEGER NN [RowKey] 1 col2 STRING 2 col3 TIMESTAMP Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 col1 Name : Type : TREE Columns: No Name -------------------------- 0 col2 1 col3 gs[public]> dropcompindex cont003 col2 col3 gs[public]> showcontainer cont003 Database : public Name : cont003 Type : COLLECTION Partition ID: 27 DataAffinity: - Columns: No Name Type CSTR RowKey ------------------------------------------------------------------------------ 0 col1 INTEGER NN [RowKey] 1 col2 STRING 2 col3 TIMESTAMP Indexes: Name : Type : TREE Columns: No Name -------------------------- 0 col1
【メモ】
- 作成されていない索引を指定しても、エラーは発生しません。
- パーティションテーブルに対する操作は非対応です。コンテナ名にパーティションテーブルを指定した場合はエラーとなります。
SQL実行計画を表示するサブコマンドについて説明します。
SQL分析結果(グローバルプラン)をテキスト形式またはJSON形式で表示します。
-
サブコマンド
getplantxt [テキストファイル名] -
引数
引数 説明 テキストファイル名 結果を保存するファイル名を指定します。 -
例)
gs[public]> EXPLAIN ANALYZE select * from table1, table2 where table1.value=0 and table1.id=table2.id; 検索を実行しました。 (11 ms) gs[public]> getplantxt Id Type Input Rows Lead time Actual time Node And more.. -------------------------------------------------------------------------------------------------------------------- 0 SCAN - - 0 0 192.168.15.161:10001 table: {table1} INDEX SCAN 1 SCAN 0 0 2 2 192.168.15.161:10001 table: {table1, table2} INDEX SCAN JOIN_EQ_HASH 2 RESULT 1 0 0 0 192.168.15.161:20001
【メモ】
- 本サブコマンドの直前にEXPLAINまたはEXPLAIN ANALYZEで実行したSQLが対象です。
- 表示内容
- ID: プランID
- Type: 処理の種類
- Input: 入力値となるプランのプランID
- Rows: 入力件数
- Lead time: 処理時間
- Actual time: 処理のためにスレッドが占有された時間
- Node: 処理が実施されたノード
-
サブコマンド
getplanjson [JSONファイル名] -
引数
引数 説明 JSONファイル名 結果を保存するファイル名を指定します。 -
例)
gs[public]> getplanjson { "nodeList" : [ { "cmdOptionFlag" : 65, "id" : 0, "indexInfoList" : [ 2, 0, 0 ], "inputList" : [ ], "outputList" : [ { "columnId" : 0, "columnType" : "STRING", "inputId" : 0, "op" : "EXPR_COLUMN", "qName" : { "db" : "public", "name" : "id", "table" : "collection_nopart_AA22" }, "srcId" : 1 }, { ・ ・ ・
【メモ】
- 本サブコマンドの直前にEXPLAINまたはEXPLAIN ANALYZEで実行したSQLが対象です。
SQL分析結果の詳細情報をJSON形式で表示します。
-
サブコマンド
gettaskplan プランID -
引数
引数 説明 プランID 表示する対象のプランIDを指定します。 -
例)
gs[public]> gettaskplan 0 { "cmdOptionFlag" : 65, "id" : 0, "indexInfoList" : [ 2, 0, 0 ], "inputList" : [ ], "outputList" : [ { "columnId" : 0, "columnType" : "STRING", "inputId" : 0, "op" : "EXPR_COLUMN", "qName" : { "db" : "public", "name" : "id", "table" : "collection_nopart_AA22" }, "srcId" : 1 }, { ・ ・ ・
【メモ】
- 本サブコマンドの直前にEXPLAINまたはEXPLAIN ANALYZEで実行したSQLが対象です。
その他のサブコマンドについて説明します。
実行したサブコマンドを標準出力に表示します。
-
サブコマンド
echo boolean -
引数
引数 説明 boolean TRUEを指定すると、実行したサブコマンドを標準出力に表示します。既定値はFALSEです。 -
例)
//実行したサブコマンドを標準出力に表示 gs> echo TRUE
【メモ】
- gs_shのプロンプト"gs>"は常に標準出力に表示します。
指定した文字列、もしくは変数の定義内容を表示します。
-
サブコマンド
print メッセージ -
引数
引数 説明 メッセージ 表示する文字列もしくは変数を指定します。 -
例)
//文字列の表示 gs> print printを実行しました。 printを実行しました。
【メモ】
- 変数を利用する際には、変数名の先頭に"$"をつけます。
指定した秒数スリープします。
-
サブコマンド
sleep 秒数 -
引数
引数 説明 秒数 スリープする秒数を指定します。 -
例)
//10秒間スリープ gs> sleep 10
【メモ】
- 秒数は正の整数を指定してください。
外部コマンドを実行します。
-
サブコマンド
exec 外部コマンド [外部コマンド引数] -
引数
引数 説明 外部コマンド 外部コマンドを指定します。 外部コマンド引数 外部コマンドの引数を指定します。 -
例)
//カレントディレクトリのファイル情報を表示 gs> exec ls -la
【メモ】
- パイプ、リダイレクト、ヒアドキュメントは利用できません。
gs_shを終了します。
-
サブコマンド
exit
quit -
例)
//gs_shを終了します。 gs> exit
また、サブコマンドでエラーが発生した場合に、gs_shを終了するように設定できます。
-
サブコマンド
errexit boolean -
引数
引数 説明 boolean TRUEを指定すると、サブコマンドでエラーが発生した場合に、gs_shが終了します。デフォルトはFALSEです。 -
例)
//サブコマンドでエラーが発生した場合にgs_shが終了するように設定 gs> errexit TRUE
【メモ】
- exitサブコマンド、quitサブコマンドに機能差はありません。
サブコマンドの説明を表示します。
-
サブコマンド
help [サブコマンド名] -
引数
引数 説明 サブコマンド名 説明を表示するサブコマンド名を指定します。省略した場合、サブコマンドの一覧を表示します。 -
例)
//サブコマンドの説明表示 gs> help exit exit gs_shを終了します。
【メモ】
- gs_shの説明は、「gs_sh --help」で取得できます。
gs_shのバージョンを表示します。
-
サブコマンド
version -
例)
//バージョンの表示 gs> version gs_sh version 2.0.0
【メモ】
- gs_shのバージョン情報は、「gs_sh --version」でも取得できます。
タイムゾーンの設定を行います。
-
サブコマンド
settimezone [設定値] -
引数
引数 説明 設定値 設定値の形式は「±hh:mm」「±hhmm」「Z」「auto」です。例えば、日本時間の場合、設定値は「+09:00」です。
値が未設定の場合、タイムゾーンの設定値をクリアします。
【メモ】
- connectサブコマンド実行後に、settimezoneサブコマンドでタイムゾーン設定を変更した場合、変更後のタイムゾーン設定は再度、connectサブコマンドを実行するまで反映されません。タイムゾーン設定変更を行った後には再度、connectサブコマンドを実行してください。
複数のネットワークインターフェースがあるときにクラスタのネットワーク構成をマルチキャスト方式にする場合、マルチキャストパケットを受信するインターフェースのIPアドレスを指定します。
-
サブコマンド
setntfif [IPアドレス] -
引数
引数 説明 IPアドレス マルチキャストパケットを受信するインターフェースのIPアドレスをIPv4形式で指定します。値が未設定の場合、設定値をクリアします。設定値はnotificationInterfaceAddress変数で確認できます。 -
例)
gs[public]> setntfif 192.168.1.100 //設定の確認 gs[public]> print $notificationInterfaceAddress 192.168.1.100
【メモ】
- 設定変更を行った後には再度、connectサブコマンドを実行してください。
実行したサブコマンドの履歴を表示します。
-
サブコマンド
history
historyサブコマンドで表示した履歴よりサブコマンドを再実行します。
-
サブコマンド
!履歴番号 -
引数
引数 説明 履歴番号 historyサブコマンドで表示した履歴より、再実行したいサブコマンドを番号で指定します。
直前に実行したサブコマンドを再実行します。
-
サブコマンド
!! -
例)
gs> history 1 connect $mycluster 2 showcontainer 3 select * from mytable; : 210 configcluster $mycluster 211 history gs> !210 gs> configcluster $mycluster : gs> !! gs> configcluster $mycluster :
【メモ】
- 表示できる履歴の最大数は500までです。
-
コマンド一覧
gs_sh [スクリプトファイル] gs_sh -v | --version gs_sh -h | --help -
オプション仕様
オプション 必須 説明 -v | --version ツールのバージョンを表示します。 -h | --help ヘルプメッセージとしてコマンド一覧を表示します。
【メモ】
- gs_shサブコマンドをバッチ処理するために、スクリプトファイルが作成できます。スクリプトファイルの拡張子はgshです。
- gs_sh起動時に、gsadmユーザホームディレクトリ下の.gsshrcスクリプトファイルを自動的に読み込みます。.gsshrcの内容は、他のスクリプトファイルよりも先に読み込みます。
-
GridDBクラスタ定義 サブコマンド一覧
サブコマンド 引数 説明 *1 setnode ノード変数名 IPアドレス ポート番号 [SSHポート番号] ノード変数を定義します。 setcluster クラスタ変数名 クラスタ名 マルチキャストアドレス ポート番号 [ノード変数... ] クラスタ変数を定義します。 setclustersql クラスタ変数名 クラスタ名 SQLアドレス SQLポート番号 クラスタ構成にSQLの接続先を定義します。 modcluster クラスタ変数名 add|remove ノード変数... クラスタ変数に対してノード変数を追加、削除します。 setuser ユーザ名 パスワード [OSユーザgsadmのパスワード] クラスタにアクセスするユーザおよびパスワードを定義します。 set 変数名 [値] 任意の変数を定義します。 show [変数名] 変数の定義内容を表示します。 save [スクリプトファイル名] 変数定義をスクリプトファイルに保存します。 load [スクリプトファイル名] スクリプトファイルを読み込み、実行します。 sync IPアドレス ポート番号 [クラスタ変数名 [ノード変数] ] 稼働中のGridDBクラスタに接続し、クラスタ変数とノード変数の定義を自動で行います。 * - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
GridDBクラスタ操作 サブコマンド一覧
サブコマンド 引数 説明 *1 startnode ノード変数|クラスタ変数 [ タイムアウト秒数 ] 指定ノードを起動します。 * stopnode ノード変数|クラスタ変数 [ タイムアウト秒数 ] 指定ノードを停止します。 * stopnodeforce ノード変数|クラスタ変数 [ タイムアウト秒数 ] 指定ノードを強制停止します。 * startcluster クラスタ変数 [ タイムアウト秒数 ] 指定クラスタに未参加の稼働ノード群を一括参加させます * stopcluster クラスタ変数 [ タイムアウト秒数 ] クラスタ参加中のノード群を一括離脱させます。 * joincluster クラスタ変数 ノード変数 [ タイムアウト秒数 ] 指定ノードをクラスタに参加させます。 * leavecluster ノード変数 [ タイムアウト秒数 ] 指定ノードをクラスタから離脱させます。 * leaveclusterforce ノード変数 [ タイムアウト秒数 ] 指定ノードをクラスタから強制的に離脱させます。 * configcluster クラスタ変数 クラスタステータス情報を表示します。 * config ノード変数 クラスタ構成情報を表示します。 * stat ノード変数 指定ノードのステータスおよび統計情報を表示します。 * logs ノード変数 指定ノードのログを表示します。 * logconf ノード変数 [ カテゴリ名 [ 出力レベル ] ] ログ設定を表示、変更します。 * showsql [クエリID] 実行中のSQL処理を表示します。 showevent 実行中のイベント一覧を表示します。 showconnection コネクションの一覧を表示します。 killsql クエリID 実行中のSQL処理をキャンセルします。 * - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
データベース内データ操作 サブコマンド一覧
サブコマンド 引数 説明 *1 connect クラスタ変数 [データベース名] GridDBクラスタに接続します。 tql コンテナ名 クエリ ; 検索を実行し、検索結果を保持します。 get [ 取得件数 ] 検索結果を取得し、標準出力に表示します。 setresultformat [ TABLE|CSV ] 標準出力の表示形式を設定します。 setresultmaxwidth [文字列長] 標準出力の文字列長を設定します。 getcsv CSVファイル名 [ 取得件数 ] 検索結果を取得し、CSV形式でファイルに保存します。 getnoprint [ 取得件数 ] クエリの結果を取得しますが、標準出力に表示しません。 getval 変数名 [ 変数名... ] 検索結果を取得し、任意の変数に設定します。 tqlclose TQLをクローズし、保持する検索結果を破棄します。 tqlexplain コンテナ名 クエリ ; 指定TQL文の実行計画を表示します。 tqlanalyze コンテナ名 クエリ ; 指定TQL文を実行し、実行計画と処理件数等の実測値を表示します。 sql SQL文 ; SQL文を実行し、検索結果を保持します。 sqlcount boolean SQLの検索実行時、件数取得処理を実行するかどうかを設定します。 queryclose クエリをクローズし、保持する検索結果を破棄します。 disconnect GridDBクラスタから切断します。 - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
データベース管理 サブコマンド一覧
サブコマンド 引数 説明 *1 createdatabase データベース名 データベースを作成します。 * dropdatabase データベース名 データベースを削除します。 * getcurrentdatabase カレントデータベース名を表示します。 showdatabase [データベース名] データベース一覧およびアクセス権情報を表示します。 grantacl 権限 データベース名 ユーザ名 データベースへのアクセス権を付与します。 * revokeacl 権限 データベース名 ユーザ名 データベースへのアクセス権を剥奪します。 * - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
ユーザ管理 サブコマンド一覧
サブコマンド 引数 説明 *1 createuser ユーザ名 パスワード 一般ユーザを作成します。 * dropuser ユーザ名 一般ユーザを削除します。 * setpassword パスワード 自分のパスワードを変更します。 setpassword ユーザ名 パスワード 一般ユーザのパスワードを変更します。 * showuser [ユーザ名|ロール名] 一般ユーザとロールの情報を表示します。 * - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
コンテナ管理 サブコマンド一覧
サブコマンド 引数 説明 *1 createcollection コンテナ名 カラム名 タイプ [カラム名 タイプ …] コンテナ(コレクション)を作成します。 createtimeseries コンテナ名 圧縮方式 カラム名 タイプ [カラム名 タイプ …] コンテナ(時系列コンテナ)を作成します。 createcontainer コンテナ定義ファイル [コンテナ名] コンテナ定義ファイルを元にコンテナを作成します。 dropcontainer コンテナ名 コンテナを削除します。 putrow コンテナ名 値 [値...] コンテナにロウを登録します。 removerow コンテナ名 ロウキー値 [ロウキー値...] コンテナのロウを削除します。 showcontainer [ コンテナ名 ] コンテナ情報を表示します。 showtable [ テーブル名 ] テーブル情報を表示します。 searchcontainer [コンテナ名] コンテナ名からコンテナを検索します。 searchview [ビュー名] ビュー名からビューを検索します。 createindex コンテナ名 カラム名 索引タイプ... 指定カラムに索引を作成します。 createcompindex コンテナ名 カラム名... 指定カラムに複合索引を作成します。 dropindex コンテナ名 カラム名 索引タイプ... 指定カラムの索引を削除します。 dropcompindex コンテナ名 カラム名... 指定カラムの複合索引を削除します。 - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
実行計画 サブコマンド一覧
サブコマンド 引数 説明 *1 getplantxt [テキストファイル名] SQL分析結果をテキスト形式で表示します。 getplanjson [JSONファイル名] SQL分析結果をJSON形式で表示します。 gettaskplan プランID SQL分析結果の詳細情報をJSON形式で表示します。 - *1 : *は、管理ユーザのみ実行可能なコマンドです。
-
その他の操作 サブコマンド一覧
サブコマンド 引数 説明 *1 echo boolean エコーバックの有無を設定します。 print メッセージ 指定した文字列、もしくは変数の定義内容を表示します。 sleep 秒数 指定した秒数スリープします。 exec 外部コマンド [ 外部コマンド引数 ] 外部コマンドを実行します。 exit gs_shを終了します。 quit gs_shを終了します。 errexit boolean エラー発生時にgs_shを終了するかを設定します。 help [ サブコマンド名 ] サブコマンドの説明を表示します。 version バージョン情報を表示します。 settimezone [ 設定値 ] タイムゾーンの設定を行います。 setntfif [ IPアドレス ] マルチキャストパケットを受信するインターフェースのIPアドレスを指定します。 history 実行したサブコマンドの履歴を表示します。 ![ 履歴番号 ] historyサブコマンドで表示した履歴よりサブコマンドを再実行します。 !! 直前に実行したサブコマンドを再実行します。 - *1 : *は、管理ユーザのみ実行可能なコマンドです。