nzsql コマンド

nzsqlコマンドはNetezza Performance Server・ホストまたはNetezza Performance Serverのクライアント・システムで SQL コマンド・インタプリターを起動します。 この SQL コマンド・インタープリターを使用して、データベース・オブジェクトの作成、照会の実行、およびデータベースの管理を行うことができます。

nzsql コマンドを実行するには、次のように入力します。
nzsql [options] [security options] [dbname [user] [password]]
以下の表では、nzsql コマンド・パラメーターについて説明します。 コマンド・パラメーターとコマンドの使用方法の詳細については、『IBM® Netezza®Database User's Guide』を参照してください。
表 1. nzsql コマンド・パラメーター
パラメーター 説明
-a スクリプトからの入力をすべてエコーします。
-A 桁揃えなしの表出力モードを使用します。 これは -P format=unaligned を指定するのと同じです。
-シーエスブイ CSV (コンマ区切り値) 表出力モード。
-c <クエリー 単一の照会 (またはスラッシュ・コマンド) だけを実行して終了します。
-d <dbname>
または
-D <dbname>
接続先のデータベースの名前を指定します。 このパラメーターを指定しない場合、nzsql コマンドは、 NZ_DATABASE 環境変数として指定されている値を使用するか (これが指定されている場合)、またはパスワードを入力するためのプロンプトを出します (指定されていない場合)。
-スキーマ <スキーマ名 接続先のスキーマの名前を指定します。 このオプションは、複数のスキーマを使用するように設定されているNetezza Performance ServerRelease7.0.3以降のシステムで使用します。 システムが複数スキーマをサポートしていない場合、このパラメーターは無視されます。 このパラメーターを指定しない場合、nzsql コマンドは、 NZ_SCHEMA 環境変数として指定されている値 (これが指定されている場合)、 またはデータベース・アカウント名と一致するスキーマ (指定されていない場合で enable_user_schema が TRUE に設定されている場合)、 またはデータベースのデフォルト・スキーマ (その他の場合) を使用します。
-e サーバーに送信される照会をエコーします。
-e 内部コマンドによって生成される照会を表示します。
-f <ファイル名 ファイルから照会を実行し、終了します。
-F <文字列 フィールド分離文字を設定します。 デフォルトは縦棒(|)である。これは-P fieldsep=<文字列> と指定するのと同じである。
-h nzsql コマンドのヘルプを表示します。
-h 表の出力モードを HTML に設定します。 これは、-P format=html を指定するのと同じです。
-ホスト <host データベース・サーバーのホスト名を指定します。
-L 使用可能なデータベースをリストして、終了します。
N readline モードを無効にします。 これは、入力で日本語、中国語、韓国語などの 2 バイト文字セットを使用する場合に必須です。
-o <ファイル名 照会の出力を指定のファイルに送ります。ファイル名の代わりに垂直バー (|) を指定すると出力はパイプに送られます。
-O <ファイル名 照会の出力およびエラー・メッセージを、指定のファイルに送信します。 ファイル名の代わりに垂直バー (|) を指定した場合は、パイプに送信されます。
-P opt[=val] opt が表す印刷オプションに、val が表す値を設定します。
-port <port> データベース・サーバー・ポートを指定します。
-pw <パスワード データベース・ユーザーのパスワードを指定します。 このパラメーターを指定しない場合、nzsql コマンドは、 NZ_PASSWORD 環境変数として指定されている値を使用するか (これが指定されている場合)、またはパスワードを入力するためのプロンプトを出します (指定されていない場合)。
-q 静かに実行します。つまり、メッセージを出しません。 クエリー出力だけが戻されます。
-r この指定がなければ照会出力の最後に表示される、行カウントの表示を抑制します。
-R <文字列 レコード分離文字を設定します。 デフォルトは、改行文字です。 これは、-P recordsep=<文列>と字指定するのと同じである。
-s 照会ごとに確認を求めるシングル・ステップ・モードを使用します。
-S 改行文字で照会が終了するシングル・ライン・モードを使用します。
-t 行のみを出力します。これは、-P tuples_only を指定するのと同じです。
-time 照会の実行にかかる時間を出力します。
-T <テキスト 幅や枠などの HTML 表タグ・オプションを設定します。 これは、-P tableattr=<tet>とx指定するのと同じである。
-u <ユーザー名>
または
-U <ユーザー名
データベース・ユーザー名を指定します。 このパラメーターを指定しない場合、nzsql コマンドは、 NZ_USER 環境変数として指定されている値を使用するか (これが指定されている場合)、またはユーザー名を入力するためのプロンプトを出します (指定されていない場合)。
-v <名前>=<値 指定したセッション変数に、指定した値を設定します。 このパラメーターは、設定する変数ごとに 1 つ指定します。次に例を示します。
nzsql -v HISTSIZE=600 -v USER=user1 -v PASSWORD=password
-V バージョン情報を表示し、終了します。
-w データベース・ユーザーのパスワードは不要です。 パスワードは、別のメカニズム (Kerberos など) によって提供されます。
-W <パスワード データベース・ユーザーのパスワードを指定します。 (-pw と同じ。)
-x 表出力を拡張します。 これは、-P expanded を指定するのと同じです。
-X スタートアップ・ファイル (~/.nzsqlrc) を読み取りません。
--securityLevel<レベル Netezza Performance Server・システムへのクライアント接続のセキュリティ・レベル(セキュアまたは非セキュア)を指定します。 このオプションは、Netezza Performance Serverシステムにログインしてコマンドを実行している場合は適用されません。
preferredUnSecured
非セキュアな接続を優先します。ただし、システムがセキュアな接続のみ使用するように構成されている場合は、セキュアな接続を受け入れます。 これがデフォルトです。
preferredSecured
セキュアな接続を優先します。ただし、システムが非セキュアな接続のみ使用するように構成されている場合は、非セキュアな接続を受け入れます。
onlyUnSecured
非セキュアな接続を必要とします。 システムがセキュアな接続のみ使用するように構成されている場合は、接続の試行が拒否されます。
onlySecured
セキュアな接続を必要とします。 システムが非セキュアな接続のみ使用するように構成されている場合や、リリース・レベルが 4.5 よりも前の場合は、接続の試行が拒否されます。
--caCertFile<パス クライアント・システム上のルート CA 証明書ファイルへのパスを指定します。 このオプションは、ピア認証を使用して「Netezza Performance Serverホストシステムを検証する 「Netezza Performance Serverクライアントが使用する。 デフォルト値は NULL です。 NULL の場合は、ピア認証プロセスはスキップされます。
-パーシャル・チェーン 完全な証明書チェーン(2 階層証明書階層構造)を持たない証明書の部分的な検証を許可する。 これは、-caCertFileオプションと併用する必要がある。
-z 桁揃えなしの出力のフィールド分離文字をゼロ・バイトに設定します。
-0 桁揃えなしの出力のレコード分離文字をゼロ・バイトに設定します。

nzsqlコマンドインタープリター内で、ヘルプのために'\?入力する。

一般
\g [FILE]
照会を実行します。 結果はファイルまたは | パイプになります。 これには、セミコロンで照会を終結することと同じ効果があります。
\q
nzsql を終了します。
ヘルプ
\?
すべての円記号コマンドをリストして、それらのヘルプを表示します。
\h <COMMAND>
すべての SQL コマンドのヘルプを表示します。
照会バッファー
\e [FILE]
現在の照会バッファー (またはファイル) を外部エディターで編集します。 (Windows ではサポートされません。)
\p
照会バッファーのコンテンツを表示します。
\s [FILE]
履歴を表示するか、ファイルに保存します。 (Windows ではサポートされません。)
\w [FILE]
照会バッファーをファイルに書き込みます。
入力/出力
\copy ...
クライアント・ホストへのデータ・ストリームに対して SQL COPY を実行します。
\echo [STRING]
ストリングを標準出力に書き込みます。
\i FILE
<file> から照会を読み取り、実行。
\o [FILE]
すべての照会結果をファイルまたは | パイプに送信します。
\O [FILE]
照会出力をエラーと共にファイルまたは | パイプに送信します。
\qecho [STRING]
クエリ出力ストリームに文字列を書き込みます('\oを参照)。
通知
\d NAME
表 (またはビュー、シーケンス、シノニム、インデックス) を記述。
\dO NAME
表またはビューをソート順に記述。
\d{t|v|i|s|e|x}
表/ビュー/インデックス/シーケンス/一時表/外部表をリスト表示。
\d{m|y}
マテリアライズ・ビュー/シノニムをリスト表示。
\dS{t|v|i|s}
システムの表/ビュー/インデックス/シーケンスをリスト表示。
\dM{t|v|i|s}
システム管理の表/ビュー/インデックス/シーケンスをリスト表示。
\dp NAME
ユーザー権限をリスト表示。
\dpu NAME
ユーザーに付与される権限をリスト表示。
\dpg NAME
グループに付与される権限をリスト表示。
\dpr NAME
ロールに付与される権限をリスト表示。
\dgp NAME
ユーザーの付与権限をリスト表示。
\dgpu NAME
ユーザーに付与される権限をリスト表示。
\dgpg NAME
グループに付与される付与権限をリスト表示。
\d{u|U}
ユーザー/ユーザー・グループをリスト表示。
\d{g|G|Gr}
グループ/グループ・ユーザー/リソース・グループ・ユーザーをリスト表示。
\da[+] [NAME]
集約をリスト表示、+ でフィールドを追加。
\dd [object]
オブジェクトのコメントをリスト表示。
\df[+] [NAME]
関数をリスト表示、+ でフィールドを追加。
\dl[+] [NAME]
ライブラリーをリスト表示、+ でフィールドを追加。
\do
演算子をリスト表示。
\dT
データ型をリスト表示。
\l[+]
すべてのデータベースをリスト表示、+ でフィールドを追加。
フォーマット設定
\a
桁揃えあり・なしのモードの切り替え。
\C [STRING]
表タイトルを設定するか、設定しない場合は設定解除します。
\f [STRING]
桁揃えなしの照会出力のフィールド分離文字を表示または設定します。
\H
HTML 出力モードを切り替えます (デフォルトはオフ)。
\pset [NAME [VALUE]]
表出力オプションの設定: (border|columns|csv_fieldsep|expanded|fieldsep| fieldsep_zero|footer|format|linestyle|null| numericlocale|pager|pager_min_lines|recordsep| recordsep_zero|tableattr|title|tuples_only| unicode_border_linestyle|unicode_column_linestyle| unicode_header_linestyle)
表 2.
オプション 説明
\pset 現在の印刷設定をすべて表示します。
\pset border [<数値>] ボーダーの幅を設定します。
\pset columns [<数値>] ターゲット列の幅を設定します。
\pset csv_fieldsep 文字 <character> には、''、'˶n'、'˶r'以外の半角文字を指定します。
\pset expanded [オン|オフ|オート] 印刷拡張の表記を定義します。
\pset x [オン|オフ|オート]
\pset vertical [オン|オフ|オート]
\pset fieldsep [<string>] 表のフィールド分離文字を設定します。
\pset fieldsep_zero 表のフィールド分離文字をゼロ・バイトに設定します。
\pset footer [オン|オフ] 「(x 行)」のフッターを有効/無効にします。
\pset format [unaligned|aligned|html|latex|latex-longtable|asciidoc|csv|troff-ms|wrapped] 表の印刷フォーマットを設定します。 オプションを指定しない場合は、現在の設定が表示されます。
\pset linestyle [アスキー|旧アスキー|ユニコード] 枠線のスタイルを設定します。
\pset null [<string>] NULL 値の代わりに印刷するストリングを設定します。
\pset numericlocale [オン|オフ] 数値のコンマ区切りモードを設定します。
\pset pager [オン|オフ|常時] 出力にページャーを使用するかどうかを設定します。
\pset pager_min_lines [<数値>] ページャー行の最小数を設定します。
\pset recordsep [<string>] 表のレコード (行) 分離文字を設定します。
\pset recordsep_zero 表のフィールド分離文字をゼロ・バイトに設定します。
\pset tableattr [<string>] HTML 出力フォーマットで HTML 表タグ内に配置される属性を指定します。
\pset title [<string>] 後で印刷される表の表タイトルを設定します。
\pset tuples_only [オン|オフ] 印刷専用データ (ヘッダーおよびフッターなし) モードを設定します。
\pset t [オン|オフ]
\pset unicode_border_linestyle [シングル|ダブル] Unicode 表の枠線のスタイルを設定します。 オプションを指定しない場合は、現在の設定が表示されます。
\pset unicode_column_linestyle [シングル|ダブル] Unicode 表の列線のスタイルを設定します。 オプションを指定しない場合は、現在の設定が表示されます。
\pset unicode_header_linestyle [シングル|ダブル] Unicode 表のヘッダー線のスタイルを設定します。 オプションを指定しない場合は、現在の設定が表示されます。
詳しくはこちらのページをご覧ください。
\t [on|off]
行のみを表示します (デフォルトはオフ)。
\T [STRING]
HTML <table> タグ属性を設定します。設定しない場合は、設定解除します。
接続
\act
現在のアクティブ・セッションを表示します。
\c[onnect] [DBNAME [USER] [PASSWORD]]
新規データベース (現在は「TEST_NZSQL_PSET_DB」) に接続します。
オペレーティング・システム
\time [on|off]
コマンドのタイミングを切り替えます (デフォルトはオフ)。
\! [COMMAND]
Shell エスケープまたはコマンド。 (Windows ではサポートされません。)
変数
\set [NAME [VALUE]]
内部変数を設定するか、パラメーターがない場合はすべてリストします。
\unset NAME
内部変数を設定解除 (削除)。

UNIX クライアントと Windows クライアントの nzsql 動作の相違点

NPSリリース7.2.1 以降、Windows クライアントキットの一部として 'nzsqlコマンドが含まれています。 Windows 環境では、ユーザーが Enter キーや Ctrl+C キー・シーケンスを押した場合の動作が UNIX の nzsql コマンド行環境とは異なる点に注意してください。 Windows コマンド・プロンプト環境では、 一般的な UNIX コマンドのフォーマットやオプションの多くがサポートされていません。 ただし、Windows クライアントで Linux 環境 (cygwin など) を 使用している場合は、UNIX 固有の コマンド行オプションとして本書に記載しているオプションの多くを nzsql.exe コマンドで使用できる可能性があります。

UNIX 環境では、nzsql コマンド行シェルに複数行にわたる SQL 照会を入力する場合、Enter キーは改行文字として機能するため、セミコロンを入力してから Enter キーを押すまで、照会の入力が受け入れられます。 また、後続の入力行を受け入れるために、シェル・プロンプトが => から -> に変わります。

MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Enter)
MYDB.SCH(USER)-> ; (press Enter)

 COUNT
-------
  1274
(1 row)

UNIX 環境では、Ctrl+C を押すと、照会全体がキャンセルされ、コマンド・プロンプトに戻ります。

MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Control-C)
MYDB.SCH(USER)=> 

Windows クライアント 環境では、nzsql コマンド行シェルに複数行にわたる SQL 照会を入力する場合、Enter キーは改行文字と同様に機能するため、セミコロンを入力してから Enter キーを押すまで、照会の入力が受け入れられます。

MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Enter)
MYDB.SCH(USER)-> ; (press Enter)

 COUNT
-------
  1274
(1 row)

ただし、Windows 環境では、Ctrl+C および Ctrl+Break キー・シーケンスを押しても複数行の照会はキャンセルされず、 その行の照会入力のみがキャンセルされます。

MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Control-C)
MYDB.SCH(USER)-> ; (press Enter)

 COUNT
-------
 100000
(1 row)

ここでは、Ctrl+C (または Ctrl+Break) は 3 行目の入力の WHERE 節をキャンセルしたため、制限がなくなり、照会の結果が多くなっています。 入力行が 1 行の場合 (プロンプトが => の場合)、Ctrl+C は、照会をキャンセルして nzsql コマンド・プロンプトに戻ることに注意してください。

MYDB.SCH(USER)=> select count(*) from ne_part (press Control-C)
MYDB.SCH(USER)=> 

Windows では nzsql に more コマンドが必要

Windowsクライアントで「nzsqlコマンドを実行すると、次のようなエラーが表示されるmore not recognized as an internal or external command.このエラーは、'nzsqlがクエリー結果を処理するために'moreコマンドを使用しているために発生する。 このエラーは、nzsql コマンドが Windows クライアント上で more コマンドを見つけられなかったことを示します。

問題を修正するには、クライアント・システムの PATH 環境変数に more.com コマンドの実行可能プログラムを追加してください。 環境変数の変更方法は Windows OS のバージョンによって若干異なるため、詳細な手順については Windows の資料を参照してください。 Windows 7 システムでは、次のような手順を使用します。

  • 「スタート」をクリックし、検索フィールドに environment と入力します。 検索結果の「システム環境変数の編集」をクリックします。 「システムのプロパティ」ダイアログが開き、 「詳細設定」タブが表示されます。
  • 「環境変数」をクリックします。 「環境変数」ダイアログが開きます。
  • 「システム環境変数」リストで、「Path」変数を選択して、「編集」をクリックします。 「システム変数の編集」ダイアログが開きます。
  • 「変数値」フィールドの末端にカーソルを置きます。 フィールド内の任意の場所をクリックし、End キーを押してフィールドの末端に移動します。
  • 値'C:\Windows\System32; をPathフィールドの最後に追加する。 文字列の最後に、セミコロン文字を使用し、スペース文字を 入力するようにしてください。 あなたのシステムの'more.comファイルが'C:Windows\System32以外のディレクトリにある場合、あなたのクライアントで適用されるパス名を使用してください。
  • 「システム変数の編集」ダイアログで「OK」をクリックし、「環境変数」ダイアログで「OK」をクリックしてから、 「システムのプロパティ」ダイアログで「OK」をクリックします。

After you make this change, the nzsql command should run without displaying themore not recognizedエラー。