シェル・ユーティリティ・コマンド
次の各項では、"java -jar" <kvhome>/lib/sql.jar <command>"
を介してアクセスするユーティリティ・コマンドについて説明します。
シェルのインタラクティブ・プロンプトは次のとおりです。
sql->
シェルは、複数のコマンドで構成されています。すべてのコマンドで次のフラグを使用できます。
-
-help
コマンドのオンライン・ヘルプを表示します。
-
?
-helpと同じ意味です。コマンドのオンライン・ヘルプを表示します。
シェル・コマンドの一般的な形式は次のとおりです。
-
コマンドはすべて、次のような構造になります。
sql-> command [arguments]
-
引数はすべて、"-"で始まるフラグを使用して指定します
-
コマンドとサブコマンドでは大/小文字は区別されず、可能な場合は一部の文字列(接頭辞)で照合されます。ただし、引数では大/小文字が区別されます。
connect
connect -host <hostname> -port <port> -name <storeName>
[-timeout <timeout ms>]
[-consistency <NONE_REQUIRED(default) |
ABSOLUTE | NONE_REQUIRED_NO_MASTER>]
[-durability <COMMIT_SYNC(default) |
COMMIT_NO_SYNC | COMMIT_WRITE_NO_SYNC>]
[-username <user>] [-security <security-file-path>]
KVStoreに接続し、データ・アクセス機能を実行します。インスタンスが保護されている場合、ログイン資格証明を入力する必要がある可能性があります。
consistency
consistency [[NONE_REQUIRED | NONE_REQUIRED_NO_MASTER |
ABSOLUTE] [-time -permissible-lag <time_ms> -timeout <time_ms>]]
このセッションで使用される読取り一貫性を構成します。
describe
describe | desc [as json]
{table table_name [field_name[,...] ] |
index index_name on table_name
}
表または索引に関する情報を記述します。オプションでJSON形式を使用できます。
table_name
を次のように指定します。
エントリ指定 | 説明 |
---|---|
table_name |
必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。 |
parent-table.child-table |
親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsers の場合、MailingAddress という名前の子表はUsers.MailingAddress と指定します。
|
|
デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Sales ネームスペースに作成されたUsers 表を参照するには、table_nameをSales:Users のように入力します。
|
ns1:t1
に対するdescribe
の出力を示します。 sql-> describe table ns1:t1;
=== Information ===
+-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+
| namespace | name | ttl | owner | sysTable | r2compat | parent | children | indexes | description |
+-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+
| ns1 | t1 | | | N | N | | | | |
+-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+
=== Fields ===
+----+------+---------+----------+-----------+----------+------------+----------+
| id | name | type | nullable | default | shardKey | primaryKey | identity |
+----+------+---------+----------+-----------+----------+------------+----------+
| 1 | id | Integer | N | NullValue | Y | Y | |
+----+------+---------+----------+-----------+----------+------------+----------+
| 2 | name | String | Y | NullValue | | | |
+----+------+---------+----------+-----------+----------+------------+----------+
sql->
describe as json
を使用しています。 sql-> describe as json table ns1:t1;
{
"json_version" : 1,
"type" : "table",
"name" : "t1",
"namespace" : "ns1",
"shardKey" : [ "id" ],
"primaryKey" : [ "id" ],
"fields" : [ {
"name" : "id",
"type" : "INTEGER",
"nullable" : false,
"default" : null
}, {
"name" : "name",
"type" : "STRING",
"nullable" : true,
"default" : null
} ]
}
durability
durability [[COMMIT_WRITE_NO_SYNC | COMMIT_SYNC |
COMMIT_NO_SYNC] | [-master-sync <sync-policy> -replica-sync <sync-policy>
-replica-ask <ack-policy>]] <sync-policy>: SYNC, NO_SYNC, WRITE_NO_SYNC
<ack-policy>: ALL, NONE, SIMPLE_MAJORITY
このセッションで使用される書込み永続性を構成します。
history
history [-last <n>] [-from <n>] [-to <n>]
コマンド履歴を表示します。デフォルトではすべての履歴が表示されます。表示範囲の選択にはオプションのフラグが使用されます。
import
import -table table_name -file file_name [JSON | CSV]
指定されたファイルからtable_name
表にレコードをインポートします。
table_name
を次のように指定します。
エントリ指定 | 説明 |
---|---|
table_name |
必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。 |
parent-table.child-table |
親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsers の場合、MailingAddress という名前の子表はUsers.MailingAddress と指定します。
|
|
デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Sales ネームスペースに作成されたUsers 表を参照するには、table_nameをSales:Users のように入力します。
|
-table
を使用して、レコードがロードされる表の名前を指定します。表を指定するもう1つの方法は、ファイル内のレコードの前に、表指定"Table: table_name
"を追加することです。
たとえば、このファイルには、users
およびemail
という2つの表に挿入するレコードが含まれています。
Table: users
<records of users>
...
Table: emails
<record of emails>
...
インポートされたレコードは、JSON形式またはCSV形式のいずれかになります。形式を指定しない場合、JSONであると想定されます。
load
load -file <path to file>
指定したファイルをロードし、その内容を実行するコマンドのスクリプトとして解釈します。スクリプト内のいずれかのコマンドが実行に失敗すると、実行が終了します。
たとえば、スクリプト・ファイルtest.sql
に次のコマンドが収集されているとします。
### Begin Script ###
load -file test.ddl
import -table users -file users.json
### End Script ###
ファイルtest.ddl
には次のような内容が含まれています。
DROP TABLE IF EXISTS users;
CREATE TABLE users(id INTEGER, firstname STRING, lastname STRING,
age INTEGER, primary key (id));
また、ファイルusers.json
には次のような内容が含まれています。
{"id":1,"firstname":"Dean","lastname":"Morrison","age":51}
{"id":2,"firstname":"Idona","lastname":"Roman","age":36}
{"id":3,"firstname":"Bruno","lastname":"Nunez","age":49}
スクリプトを実行するには、シェルでload
コマンドを使用します。
> java -jar KVHOME/lib/sql.jar -helper-hosts node01:5000 \
-store kvstore
sql-> load -file ./test.sql
Statement completed successfully.
Statement completed successfully.
Loaded 3 rows to users.
mode
mode [COLUMN | LINE | JSON [-pretty] | CSV]
問合せ結果の出力モードを設定します。デフォルト値はJSONです。
たとえば、COLUMNモードで表示される表は次のようになります。
sql-> mode column;
sql-> SELECT * from users;
+-----+-----------+-----------+-----+
| id | firstname | lastname | age |
+-----+-----------+-----------+-----+
| 8 | Len | Aguirre | 42 |
| 10 | Montana | Maldonado | 40 |
| 24 | Chandler | Oneal | 25 |
| 30 | Pascale | Mcdonald | 35 |
| 34 | Xanthus | Jensen | 55 |
| 35 | Ursula | Dudley | 32 |
| 39 | Alan | Chang | 40 |
| 6 | Lionel | Church | 30 |
| 25 | Alyssa | Guerrero | 43 |
| 33 | Gannon | Bray | 24 |
| 48 | Ramona | Bass | 43 |
| 76 | Maxwell | Mcleod | 26 |
| 82 | Regina | Tillman | 58 |
| 96 | Iola | Herring | 31 |
| 100 | Keane | Sherman | 23 |
+-----+-----------+-----------+-----+
...
100 rows returned
空の文字列は、空のセルとして表示されます。
sql-> mode column;
sql-> SELECT * from tab1 where id = 1;
+----+------+----+------+
| id | s1 | s2 | s3 |
+----+------+----+------+
| 1 | NULL | | NULL |
+----+------+----+------+
1 row returned
ネストされた表の場合は、columnモードでネストを示すためにインデントが使用されます。
sql-> SELECT * from nested;
+----+-------+------------------------------------------------------------+
| id | name | details |
+----+-------+------------------------------------------------------------+
| 1 | one | address |
| | | city | Waitakere |
| | | country | French Guiana |
| | | zipcode | 7229 |
| | | attributes |
| | | color | blue |
| | | price | expensive |
| | | size | large |
| | | phone | [(08)2435-0742, (09)8083-8862, (08)0742-2526]|
+----+-------+------------------------------------------------------------+
| 3 | three | address |
| | | city | Viddalba |
| | | country | Bhutan |
| | | zipcode | 280071 |
| | | attributes |
| | | color | blue |
| | | price | cheap |
| | | size | small |
| | | phone | [(08)5361-2051, (03)5502-9721, (09)7962-8693]|
+----+-------+------------------------------------------------------------+
...
たとえば、結果が縦に表示され、各行に1つの値が表示されるLINEモードの表は、次のようになります。
sql-> mode line;
sql-> SELECT * from users;
> Row 1
+-----------+-----------+
| id | 8 |
| firstname | Len |
| lastname | Aguirre |
| age | 42 |
+-----------+-----------+
> Row 2
+-----------+-----------+
| id | 10 |
| firstname | Montana |
| lastname | Maldonado |
| age | 40 |
+-----------+-----------+
> Row 3
+-----------+-----------+
| id | 24 |
| firstname | Chandler |
| lastname | Oneal |
| age | 25 |
+-----------+-----------+
...
100 rows returned
COLUMNモードと同様に、空の文字列は空のセルとして表示されます。
sql-> mode line;
sql-> SELECT * from tab1 where id = 1;
> Row 1
+---------+------+
| id | 1 |
| s1 | NULL |
| s2 | |
| s3 | NULL |
+---------+------+
1 row returned
たとえば、JSONモードで表示される表は次のようになります。
sql-> mode json;
sql-> SELECT * from users;
{"id":8,"firstname":"Len","lastname":"Aguirre","age":42}
{"id":10,"firstname":"Montana","lastname":"Maldonado","age":40}
{"id":24,"firstname":"Chandler","lastname":"Oneal","age":25}
{"id":30,"firstname":"Pascale","lastname":"Mcdonald","age":35}
{"id":34,"firstname":"Xanthus","lastname":"Jensen","age":55}
{"id":35,"firstname":"Ursula","lastname":"Dudley","age":32}
{"id":39,"firstname":"Alan","lastname":"Chang","age":40}
{"id":6,"firstname":"Lionel","lastname":"Church","age":30}
{"id":25,"firstname":"Alyssa","lastname":"Guerrero","age":43}
{"id":33,"firstname":"Gannon","lastname":"Bray","age":24}
{"id":48,"firstname":"Ramona","lastname":"Bass","age":43}
{"id":76,"firstname":"Maxwell","lastname":"Mcleod","age":26}
{"id":82,"firstname":"Regina","lastname":"Tillman","age":58}
{"id":96,"firstname":"Iola","lastname":"Herring","age":31}
{"id":100,"firstname":"Keane","lastname":"Sherman","age":23}
{"id":3,"firstname":"Bruno","lastname":"Nunez","age":49}
{"id":14,"firstname":"Thomas","lastname":"Wallace","age":48}
{"id":41,"firstname":"Vivien","lastname":"Hahn","age":47}
...
100 rows returned
空の文字列は、""として表示されます。
sql-> mode json;
sql-> SELECT * from tab1 where id = 1;
{"id":1,"s1":null,"s2":"","s3":"NULL"}
1 row returned
最後に、CSVモードで表示される表は次のようになります。
sql-> mode csv;
sql-> SELECT * from users;
8,Len,Aguirre,42
10,Montana,Maldonado,40
24,Chandler,Oneal,25
30,Pascale,Mcdonald,35
34,Xanthus,Jensen,55
35,Ursula,Dudley,32
39,Alan,Chang,40
6,Lionel,Church,30
25,Alyssa,Guerrero,43
33,Gannon,Bray,24
48,Ramona,Bass,43
76,Maxwell,Mcleod,26
82,Regina,Tillman,58
96,Iola,Herring,31
100,Keane,Sherman,23
3,Bruno,Nunez,49
14,Thomas,Wallace,48
41,Vivien,Hahn,47
...
100 rows returned
JSONモードの場合と同様に、空の文字列は""と表示されます。
sql-> mode csv;
sql-> SELECT * from tab1 where id = 1;
1,NULL,"","NULL"
1 row returned
ノート:
CSV形式で表示できるのは、単純なタイプの値を含む行のみです。ネストされた値はサポートされません。
page
page [on | <n> | off]
問合せの出力ページ番号のオンとオフを切り替えます。n
が指定されると、ページの高さとして使用されます。
n
が0の場合、またはonが指定された場合は、デフォルトのページ高さが使用されます。n
をoffに設定すると、ページ番号がオフになります。
show indexes
show_indexes_statement ::= SHOW [AS JSON] INDEXES ON table_name
show indexes
文は、指定した表に存在する索引のリストを提供します。パラメータ AS JSON
はオプションであり、出力をJSON形式にする場合に指定できます。
例1: 指定した表の索引をリストします
users2
表に存在する索引をリストします。SHOW INDEXES ON users2;
indexes
idx1
例2: 指定した表の索引をJSON形式でリストします
users2
表に存在する索引をJSON形式でリストします。SHOW AS JSON INDEXES ON users2;
{"indexes" :
["idx1"]
}
show mrtable-agent-statistics
show mrtable-agent-statistics [-agent <agentID>][-table <tableName>][-json]
複数リージョン表エージェントに関する最後の1分間の最新の統計を表示します。引数を指定しない場合、このコマンドはMR表に含まれるすべてのリージョンの総合統計を表示します。
入力パラメータ
表A-1 入力パラメータ
フラグ | パラメータ | 説明 |
---|---|---|
- agent |
agentID |
統計を指定のエージェントIDに制限します。エージェントIDは、エージェントの構成中に作成されたJSON構成ファイルから確認できます。XRegionサービスの構成を参照してください。 |
- table |
tableName |
統計を指定のMR表に制限します。 |
- json |
- | 完全な統計をJSON形式で返します。統計はデフォルトでJSON形式で返されますが、このフラグを指定すると、操作、リターン・コード、リターン・コードの説明などの追加情報が出力に追加されます。 |
出力の統計
show mrtable-agent-statistics
によってレポートされる統計は、次の目的で使用される統計に分類できます。
- 他のリージョンからのストリームの監視
表A-2 出力の統計1
統計 説明 completeWriteOps
リージョン当たりの完全な書込み操作の数。 lastMessageMs
エージェントがリモート・リージョンから最後のメッセージを参照したときのタイムスタンプ(ミリ秒)。
この統計情報を使用できない場合は、出力値として-1が出力されます。
lastModificationMs
各リモート・リージョンで実行された最後の操作のタイムスタンプ(ミリ秒)。
この統計情報を使用できない場合は、出力値として-1が出力されます。laggingMs (avg, max, min)
複数リージョンKVStoreでは、リージョン内の各シャードが、すべての表に対して実行されたすべての操作をエージェントのキューにプッシュします。エージェントは、キューの内容をイベント順に他のすべてのリージョンにレプリケートします。遅延統計は、イベントがキューにプッシュされてからエージェントによって他のリージョンにレプリケートされるまでの時間差を表します。この値が大きい場合は、キューがバックアップされていることを示します。値が小さいほど、エージェントはリモート・リージョンからのイベント数に遅れずに対応できていることを示します。遅延統計は、各リモート・リージョンの平均、最小および最大(ミリ秒)としてレポートされます。
この統計情報を使用できない場合は、出力値として-1が出力されます。
latencyMs (avg, max, min)
MR表では、レイテンシ統計は、各操作がその起点(リモート)リージョンからターゲット(ローカル)リージョンに移動するのにかかった時間(ミリ秒)を示します。 レイテンシは、T2 - T1として計算されます。- T1は、リモート・リージョンで操作が実行されたときのタイムスタンプです。
- T2は、エージェントがレプリケートされた操作をローカル・リージョンに永続化したときのタイムスタンプです。
この統計情報を使用できない場合は、出力値として-1が出力されます。
- リモート・データの永続性の確認
表A-3 出力の統計2
統計 説明 puts
受信した書込み操作の数。 dels
受信した削除操作の数。 streamBytes
リモート・リージョンからレプリケートされた合計バイト数。 persistStreamBytes
ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。これは、リモート・リージョンからレプリケートされた合計バイト数とは異なります。他のリージョンからの操作と競合する場合、操作によっては組込み競合解消ルールに失敗すると永続化されない可能性があるためです。 winPuts
正常に実行された書込み操作の数。具体的には、この統計では、他のリージョンの書込みと競合した場合に、競合解消ルールで優先されなかった書込みは除外されます。 winDels
正常に実行された削除操作の数。具体的には、この統計では、他のリージョンの削除と競合した場合に、競合解消ルールで優先されなかった削除は除外されます。 incompatibleRows
互換性のない表スキーマのために永続化されなかった操作の数。これは、起点リージョンと、その行をローカル・データ・ストアにレプリケートしようとしているリージョンの間にスキーマの不一致がある場合に発生する可能性があります。 - 管理者とエージェント間のやり取りの監視
表A-4 出力の統計3
統計 説明 requests
MR表に対してユーザーが実行したすべてのDDLコマンドは、管理者によってエージェントへのリクエストに変換されます。この統計は、管理者がポストしたリクエストの数をレポートします。 responses
エージェントが処理および応答したリクエストの数。 - 複数リージョン表の監視
-table
フラグを指定してshow mrtable-agent-statistics
コマンドを実行すると、次のことを示す表レベルの統計が返されます。- ローカル・リージョンでのリモート・データの永続性: これには、前述の
puts
、dels
、winPuts
、winDels
、streamBytes
、persistStreamBytes
、incompatibleRows
などの統計が含まれます。 - 各リモート・リージョンでの表の初期化の進行状況: これは、出力の
Initialization statistics
のstate
属性によって示されます。次の表に、stateの様々な有効値とその意味を示します。表A-5 表の初期化の状態
状態 説明 NOT_START
MR表の初期化が開始されていないか、初期化を実行する必要がありません。たとえば、エージェントが既存のチェックポイントからストリームを正常に再開した場合、MR表を再初期化する必要はありません。 IN_PROGRESS
MR表の初期化が進行中です。つまり、MR表の初期化が開始され、データがリモート・リージョンからレプリケートされています。 COMPLETE
MR表の初期化が完了し、表の転送が完了しています。エージェントはリモート・リージョンからストリーミングしています。 ERROR
リカバリできないエラーのため、MR表の初期化が完了できません。エラーの重大度は、エージェント・ログで WARNING
またはSEVERE
として確認できます。エージェント・ログはJSON構成ファイルで指定されたディレクトリにあります。XRegionサービスの構成を参照してください。SHUTDOWN
サービスが停止されたため、MR表の初期化が完了できません。 - リモート・リージョンごとの表データの永続性:
表A-6 出力の統計4
統計 説明 transferStartMs
表の初期化の開始のタイムスタンプ(ミリ秒)。
この統計情報を使用できない場合は、出力値として-1が出力されます。
transferCompleteMs
表の初期化の完了のタイムスタンプ(ミリ秒)。
この統計情報を使用できない場合は、出力値として-1が出力されます。elapsedMs
表の初期化の開始から完了までの経過時間。 elapsedMs = transferCompleteMs - transferStartMs
この統計はミリ秒単位でレポートされます。転送が完了するまで、この統計が使用できないことを示す-1がレポートされます。
transferBytes
リモート(起点またはソース)リージョンからローカル(ターゲット)リージョンに転送されるバイト数。 transferRows
リモート・リージョンからローカル・リージョンに正常に転送された行数。 expireRows
リモート・リージョンからの転送前に期限切れになった行数。TTL値のため、行によってはレプリケーション中に期限切れになる可能性があります。このような行は、エージェントに到達するまでに期限切れになります。この統計は、このような期限切れの行をカウントします。 persistBytes
ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。組込み競合解消ルールに失敗したため、ローカル・リージョンでコミットされていない行は除外されます。行の更新の場合、行全体がこの統計にカウントされます。 persistRows
ローカル・リージョンで正常にコミットされた合計行数をレポートします。前述の統計と同様に、組込み競合解消ルールのためにローカル・リージョンでコミットされていない行は、この数から除外されます。
- ローカル・リージョンでのリモート・データの永続性: これには、前述の
例
ノート:
いずれかの統計情報が使用できない場合は、その統計パラメータの値として-1が出力にレポートされます。# MR table agent statistics for a specific agent
kv-> show mrtable-agent-statistics -agent 0 -json
{
"operation": "show mrtable-agent-statistics",
"returnCode": 5000,
"description": "Operation ends successfully",
"returnValue": {
"XRegionService-1_0": {
"timestamp": 1592901180001,
"statistics": {
"agentId": "XRegionService-1_0",
"beginMs": 1592901120001,
"dels": 1024,
"endMs": 1592901180001,
"incompatibleRows": 100,
"intervalMs": 60000,
"localRegion": "slc1",
"persistStreamBytes": 524288,
"puts": 2048,
"regionStat": {
"lnd": {
"completeWriteOps": 10,
"laggingMs": {
"avg": 512,
"max": 998,
"min": 31
},
"lastMessageMs": 1591594977587,
"lastModificationMs": 1591594941686,
"latencyMs": {
"avg": 20,
"max": 40,
"min": 10
}
},
"dub": {
"completeWriteOps": 20,
"laggingMs": {
"avg": 535,
"max": 1024,
"min": 45
},
"lastMessageMs": 1591594978254,
"lastModificationMs": 1591594956786,
"latencyMs": {
"avg": 30,
"max": 45,
"min": 15
}
}
},
"requests": 12,
"responses": 12,
"streamBytes": 1048576,
"winDels": 1024,
"winPuts": 2048
}
}
}
}
# MR table agent statistics for a specific MR table
kv-> show mrtable-agent-statistics -table users -json
{
"operation": "show mrtable-agent-statistics",
"returnCode": 5000,
"description": "Operation ends successfully",
"returnValue": {
"XRegionService-1_0": {
"tableID": 12,
"tableName": "users",
"timestamp": 1592901300001,
"statistics": {
"agentId": "XRegionService-1_0",
"beginMs": 1592901240001,
"dels": 1000,
"endMs": 1592901300001,
"expiredPuts": 200,
"incompatibleRows": 100,
"initialization": {
"lnd": {
"elapsedMs": 476,
"expireRows": 100,
"persistBytes": 6492160,
"persistRows": 6340,
"state": "COMPLETE",
"transferBytes": 8115200,
"transferCompleteMs": 1592822625333,
"transferRows": 7925,
"transferStartMs": 1592822624857
},
"dub": {
"transferStartMs": 0,
"transferCompleteMs": 0,
"elapsedMs": -1,
"transferRows": 0,
"persistRows": 0,
"expireRows": 0,
"transferBytes": 0,
"persistBytes": 0,
"state": "NOT_START"
}
},
"intervalMs": 60000,
"localRegion": "fra",
"persistStreamBytes": 104960000,
"puts": 100000,
"streamBytes": 115200000,
"tableId": 12,
"tableName": "users",
"winDels": 745,
"winPuts": 90000
}
}
}
}
show namespaces
show [AS JSON] namespaces
システム内のすべてのネームスペースのリストを表示します。
次に例を示します。
sql-> show namespaces
namespaces
ns1
sysdefault
sql-> show as json namespaces
{"namespaces" : ["ns1","sysdefault"]}
show query
show query <statement>
問合せの問合せ計画を表示します。
次に例を示します。
sql-> show query SELECT * from Users;
RECV([6], 0, 1, 2, 3, 4)
[
DistributionKind : ALL_PARTITIONS,
Number of Registers :7,
Number of Iterators :12,
SFW([6], 0, 1, 2, 3, 4)
[
FROM:
BASE_TABLE([5], 0, 1, 2, 3, 4)
[Users via primary index] as $$Users
SELECT:
*
]
]
show regions
show_regions_statement ::= SHOW [AS JSON] REGIONS
show regions
文は、複数リージョンのOracle NoSQL Database設定に存在するリージョンのリストを提供します。パラメータ AS JSON
はオプションであり、出力をJSON形式にする場合に指定できます。
SHOW REGIONS;
regions
my_region1 (remote, active)
my_region2 (remote, active)
SHOW AS JSON REGIONS;
{"regions" : [
{"name" : "my_region1", "type" : "remote", "state" : "active"},
{"name" : "my_region2", "type" : "remote", "state" : "active"}
]}
show tables
show [as json] {tables | table table_name}
データ・ストア内のすべての表または特定の1つの表(table_name)を表示します。
table_name
を次のように指定します。
エントリ指定 | 説明 |
---|---|
table_name |
必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。 |
parent-table.child-table |
親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsers の場合、MailingAddress という名前の子表はUsers.MailingAddress と指定します。
|
|
デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Sales ネームスペースに作成されたUsers 表を参照するには、table_nameをSales:Users のように入力します。
|
次の例は、すべての表または1つの表のみをリストする方法を示しています。空のtableHierarchy
フィールドは、表t1
がデフォルトのネームスペースに作成されていることを示しています。
sql-> show tables
tables
SYS$IndexStatsLease
SYS$PartitionStatsLease
SYS$SGAttributesTable
SYS$TableStatsIndex
SYS$TableStatsPartition
ns10:t10
parent
parent.child
sg1
t1
sql-> show table t1
tableHierarchy
t1
table_name
を完全修飾します。この場合、tableHierarchy
フィールドには、表t1
が作成されたネームスペースns1
がリストされます。この例では、表がjson形式でどのように表示されるかも示しています。
sql-> show tables;
tables
SYS$IndexStatsLease
SYS$PartitionStatsLease
SYS$SGAttributesTable
SYS$TableStatsIndex
SYS$TableStatsPartition
ns1:foo
ns1:t1
sql-> show table ns1:t1;
tableHierarchy(namespace ns1)
t1
sql-> show as json table ns1:t1;
{"namespace": "ns1"
"tableHierarchy" : ["t1"]}
timeout
timeout [<timeout_ms>]
timeout
コマンドは、このセッションのリクエスト・タイムアウトをミリ秒(ms)単位で構成または表示します。
リクエスト・タイムアウトは、クライアントが送信したリクエストへのレスポンスを取得するまで待機する時間です。
オプションのtimeout_ms
属性を指定した場合、リクエスト・タイムアウトは指定した値に設定されます。
オプションのtimeout_ms
属性を指定しない場合は、リクエスト・タイムアウトの現在の値が表示されます。
例A-1 タイムアウト
次の例では、リクエスト・タイムアウトの現在の値を取得します。
sql-> timeout
Request timeout used: 5,000ms
例A-2 タイムアウト
次の例では、リクエスト・タイムアウト値を20000ミリ秒(20秒)に設定します。
sql-> timeout 20000
Request timeout used: 20,000ms
ノート:
1つのシェル・コマンドで、1つ以上のサーバーに対する複数のリクエストが必要になる場合があります。タイムアウトは、このような個々のリクエストに適用されます。シェル・コマンドは、複数のリクエストを送信し、コマンドが完了する前に、各リクエストが戻るまで待機する必要があります。その結果、シェル・コマンドが指定されたタイムアウトよりも長い時間待機することが必要になることがあり、また、この合計待機時間が個々のリクエストの待機時間を超えることがあります。
timer
timer [on | off]
コマンドの実行時間の計測と表示のオンとオフを切り替えます。指定しない場合は、timer
の現在の状態が表示されます。次に例を示します。
sql-> timer on
sql-> SELECT * from users where id <= 10 ;
+----+-----------+-----------+-----+
| id | firstname | lastname | age |
+----+-----------+-----------+-----+
| 8 | Len | Aguirre | 42 |
| 10 | Montana | Maldonado | 40 |
| 6 | Lionel | Church | 30 |
| 3 | Bruno | Nunez | 49 |
| 2 | Idona | Roman | 36 |
| 4 | Cooper | Morgan | 39 |
| 7 | Hanae | Chapman | 50 |
| 9 | Julie | Taylor | 38 |
| 1 | Dean | Morrison | 51 |
| 5 | Troy | Stuart | 30 |
+----+-----------+-----------+-----+
10 rows returned
Time: 0sec 98ms