SnowSQL の構成

このトピックでは、接続パラメーター、構成オプション、および変数を使用して SnowSQL を構成する方法について説明します。

このトピックの内容:

SnowSQL config ファイル

config という名前の SnowSQL 構成ファイルには、接続パラメーター、デフォルト設定、および変数が格納されます。テキストは UTF-8エンコードで格納されます。

構成ファイルを次のように変更します。

  1. テキストエディターで config 構成ファイルを開きます。ファイルのデフォルトの場所は次のとおりです。

    Linux/macOS

    ~/.snowsql/

    Windows

    %USERPROFILE%\.snowsql\

    注釈

    SnowSQL の起動時に --config <path> 接続パラメーターを含めることにより、デフォルトの場所を変更できます。

  2. 次のセクションの設定を変更します。

注意

  • パスワードは、 config ファイルにプレーンテキストで格納されます。アクセスを制限するには、ファイルを明示的に保護する必要があります。例えば、Linuxまたは macOS で、 chmod を実行することにより、読み取り権限のみを設定できます。

    $ chmod 700 ~/.snowsql/config
    

注釈

  • 値に特殊文字(一重引用符または二重引用符以外)が含まれる場合は、一重引用符または二重引用符で囲む必要があります。例:

    password = "my$^pwd"
    
  • 値に他の特殊文字 に加えて 引用文字が含まれる場合、バックスラッシュ(\)文字を使用してこれらの引用をエスケープします。例:

    password = "my$^\"\'pwd"
    

    引用符文字のエスケープは、囲まれていない値(他の特殊文字を含まない値)ではオプションであることに注意してください。

  • 複数行の値は、3つの一重引用符または二重引用符(''' または """)で囲む必要があります。例:

    prompt_format='''[#FFFF00]‌[user]‌@[account]
    [#00FF00]> '''
    

接続パラメーターセクション

config ファイルの [connections] セクションで、SnowSQL のデフォルトの接続パラメーター(アカウント名、地域 ID、ユーザーログイン認証情報、デフォルトのデータベースとウェアハウスなど)をオプションで設定します。また、 名前付き 接続を定義して、Snowflakeへの複数の同時接続を作成したり、異なる接続構成セットを格納したりすることもできます。

詳細については、『SnowSQLを介した接続 』をご参照ください。

構成オプションセクション

config ファイルの [options] セクションに設定を追加して、SnowSQL の動作を構成します。

[options]
<option_name> = <option_value>

条件:

  • <option_name> はオプションの名前です(大文字と小文字は区別されません)。無効な名前が指定された場合、SnowSQL はエラーを表示します。

  • <option_value> は、以下で説明するように、オプションについてサポートされる値(大文字と小文字を区別しない)を指定します。

+----------------------------+--------------------+------------------------------------------------------------------------------------+
| Name                       | Value              | Help                                                                               |
+----------------------------+--------------------+------------------------------------------------------------------------------------+
| auto_completion            | True               | Displays auto-completion suggestions for commands and Snowflake objects            |
| client_session_keep_alive  | False              | Keeps the session active indefinitely, even if there is no activity from the user. |
| echo                       | False              | Outputs the SQL command to the terminal when it is executed                        |
| editor                     | vim                | Changes the editor to use for the !edit command                                    |
| empty_for_null_in_tsv      | False              | Outputs an empty string for NULL values in TSV format                              |
| environment_variables      | ['PATH']           | Specifies the environment variables that can be referenced as SnowSQL variables.   |
|                            |                    | The variable names should be comma separated.                                      |
| execution_only             | False              | Executes queries only                                                              |
| exit_on_error              | False              | Quits when SnowSQL encounters an error                                             |
| fix_parameter_precedence   | True               | Controls the precedence of the environment variable and the config file entries    |
|                            |                    | for password, proxy password, and private key phrase.                              |
| force_put_overwrite        | False              | Force PUT command to stage data files without checking whether already exists      |
| friendly                   | True               | Shows the splash text and goodbye messages                                         |
| header                     | True               | Outputs the header in query results                                                |
| insecure_mode              | False              | Turns off OCSP certificate checks                                                  |
| key_bindings               | emacs              | Changes keybindings for navigating the prompt to emacs or vi                       |
| log_bootstrap_file         | ~/.snowsql/log_... | SnowSQL bootstrap log file location                                                |
| log_file                   | ~/.snowsql/log     | SnowSQL main log file location                                                     |
| log_level                  | CRITICAL           | Changes the log level (critical, debug, info, error, warning)                      |
| login_timeout              | 120                | Login timeout in seconds.                                                          |
| noup                       | False              | Turns off auto upgrading Snowsql                                                   |
| output_file                | None               | Writes output to the specified file in addition to the terminal                    |
| output_format              | psql               | Sets the output format for query results.                                          |
| paging                     | False              | Enables paging to pause output per screen height.                                  |
| progress_bar               | True               | Shows progress bar while transferring data.                                        |
| prompt_format              | [user]#[warehou... | Sets the prompt format. Experimental feature, currently not documented             |
| sfqid                      | False              | Turns on/off Snowflake query id in the summary.                                    |
| sfqid_in_error             | False              | Turns on/off Snowflake query id in the error message                               |
| quiet                      | False              | Hides all output                                                                   |
| remove_comments            | False              | Removes comments before sending query to Snowflake                                 |
| remove_trailing_semicolons | True               | Removes trailing semicolons from SQL text before sending queries to Snowflake      |
| results                    | True               | If set to off, queries will be sent asynchronously, but no results will be fetched.|
|                            |                    | Use !queries to check the status.                                                  |
| rowset_size                | 1000               | Sets the size of rowsets to fetch from the server.                                 |
|                            |                    | Set the option low for smooth output, high for fast output.                        |
| stop_on_error              | False              | Stops all queries yet to run when SnowSQL encounters an error                      |
| syntax_style               | default            | Sets the colors for the text of SnowSQL.                                           |
| timing                     | True               | Turns on/off timing for each query                                                 |
| timing_in_output_file      | False              | Includes timing in the output file.                                                |
| variable_substitution      | False              | Substitutes variables (starting with '&') with values                              |
| version                    | 1.1.70             | SnowSQL version                                                                    |
| wrap                       | True               | Truncates lines at the width of the terminal screen                                |
+----------------------------+--------------------+------------------------------------------------------------------------------------+

すべての有効なオプションの説明については、(このトピックの)「SnowSQL 構成オプションリファレンス」をご参照ください。

注釈

config ファイルの構成オプションの設定に加えて、次のいずれかの方法を使用してオプションを設定できます。

  • Snowflakeへの接続中に、 -o または --option 接続パラメーターを使用してこれらのオプションを設定できます。詳細については、「接続パラメーターリファレンス」をご参照ください。

  • Snowflakeに接続した後、 !set コマンドを使用してセッションのこれらのオプションを設定できます。詳細については、「コマンドリファレンス」をご参照ください。

変数セクション

config ファイルの [variables] セクションでは、値を変数として格納して再利用できます。この機能により、クエリでユーザー定義値とデータベース値を使用できます。

詳細については、「変数の使用」をご参照ください。

SnowSQL 構成オプションリファレンス

オプションは、デフォルトの SnowSQL 動作を変更します。次のいずれかの方法を使用して、これらのオプションを設定できます。

注釈

オプションの名前と値は大文字と小文字を区別しません。

auto_completion

ブール値

説明

状況依存の自動補完を有効化します。有効化すると、SnowSQL に格納されている関数、テーブル名、変数はインタラクティブモードでオートコンプリートされます。

デフォルト

auto_completion=True

client_session_keep_alive

ブール値

説明

JDBC または ODBC セッションで非アクティブな状態が一定時間続いた後に、ユーザーに再度ログインを強制するかかどうかを示します。 True に設定すると、Snowflakeは、ユーザーからのアクティビティがない場合でも、セッションを無期限にアクティブに保ちます。 False に設定すると、非アクティブな状態が4時間続いた後、ユーザーは再度ログインする必要があります。

デフォルト

client_session_keep_alive=False

echo

ブール値

説明

ローカル入力をエコーします。 True に設定すると、 stdout と出力ファイルの両方にエコーします。

デフォルト

echo=False

editor

文字列(定数)

説明

SnowSQL で !edit コマンドが発行されたときに呼び出すエディターを指定します。サポートされている値:

  • emacs

  • vi

  • vim

デフォルト

editor=vim

empty_for_null_in_tsv

ブール値

説明

有効化すると、 output_formatTSV に設定されている場合、SnowSQL は NULL 値ごとに空の文字列を出力します。

empty_for_null_in_tsv=True

environment_variables

リスト

説明

SnowSQL 変数に設定する環境変数を指定します。

environment_variables=PATH,USER,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY

execution_only

ブール値

説明

有効化すると、SnowSQL はデータを取得せずにクエリを実行します。このオプションは、実行時間のみを測定する場合に役立ちます。返される値にはネットワーク遅延が含まれており、純粋なサーバー側の実行時間ではないことに注意してください。

execution_only=True

exit_on_error

ブール値

説明

有効化すると、エラー発生時に SnowSQL が終了します。この動作は、エラー発生時にクエリの実行を停止するのに役立ちます。

exit_on_error=True

fix_parameter_precedence

ブール値

説明

パスワード、プロキシパスワード、およびプライベートキーフレーズパラメータの可能なソース間の優先順位を制御します。

値がTrueの場合、優先順位(最高から最低)は次のとおりです。

  • 環境変数または SnowSQL コマンドラインパラメーター。

  • 接続固有の接続パラメーター。これは、構成ファイルの名前付き接続セクションのパラメーターです(例:セクション [connections.myconnection] )。

  • デフォルトの接続パラメーター。これは、構成ファイルの [connections] セクションのパラメーターです。

値がFalseの場合、優先順位(最高から最低)は次のとおりです。

  • 接続固有の接続パラメーター。これは、構成ファイルの名前付き接続セクションのパラメーターです(例:セクション [connections.myconnection] )。

  • 環境変数または SnowSQL コマンドラインパラメーター。

  • デフォルトの接続パラメーター。これは、構成ファイルの [connections] セクションのパラメーターです。

デフォルト

True

force_put_overwrite

ブール値

説明

有効化すると、SnowSQL は、PUT コマンドにより、クライアントマシン上のローカルディレクトリ/フォルダーから指定された内部(Snowflake)ステージにファイルが既に存在するかどうかを確認せずにデータファイルをアップロード(ステージング)するよう強制します。ファイルが宛先ステージに既に存在する場合、PUT コマンドは既存のファイルを上書きします。

デフォルト

force_put_overwrite=False

friendly

ブール値

説明

無効化すると、SnowSQL は起動メッセージと終了メッセージを抑制します。

デフォルト

friendly=True

insecure_mode

ブール値

説明

オンライン証明書ステータスプロトコル(OCSP)を使用した証明書失効チェックをスキップします。このオプションは、OCSP サービスにアクセスできない緊急事態で使用できます。Snowflakeサポートからの指示がない限り、このオプションを 有効化しない ことを強くお勧めします。

デフォルト

insecure_mode=False

key_bindings

文字列(定数)

説明

使用するキーバインディング。可能な値:

  • emacs[CTRL]-a はホーム、 [CTRL]-e は終了です。REPL 環境についてすべてのEmacsキーバインディングが利用可能です。

  • vi:REPL 環境では、Viが提供するすべてのモーダル編集機能を使用できます。

注意

SnowSQL セッション中に !set コマンドで値を変更することはできません。代わりに、Snowflakeへの接続時に構成ファイルまたはコマンドラインで値を設定します。

デフォルト

key_bindings=vi

log_bootstrap_file

文字列(パス)

説明

ブートストラップログファイルの場所。指定しない場合、ベース名として log_file が使用され、その後に _bootstrap が続きます。例えば、デフォルトでは、ログファイル名は log_bootstrap です。

デフォルト

log_bootstrap_file=~/.snowsql/bootlog

log_file

文字列(パス)

説明

log_fileの場所。

デフォルト

log_file=~/.snowsql/log

log_level

文字列(定数)

説明

デフォルトのログレベル。可能な値: CRITICALERRORWARNINGINFODEBUG

login_timeout

説明

秒単位のログインタイムアウト。

デフォルト

login_timeout=120

noup

ブール値

説明

True の場合、SnowSQL が新しいバージョンをダウンロードしてインストールするのを防ぎます。デフォルトでは、バージョンが指定されていない場合、SnowSQL は最新バージョンに自動アップグレードします。

デフォルト

noup=False

output_file

文字列(パスとファイル名)

説明

端末出力に加えて、指定されたファイルに出力を書き込みます。

デフォルト

なし

output_format

文字列(定数)

説明

端末に表示される結果の形式を指定します。可能な値:

  • csv

  • expanded

  • fancy_grid

  • grid

  • html

  • json

  • latex

  • latex_booktabs

  • mediawiki

  • orgtbl

  • pipe

  • plain

  • psql

  • rst

  • simple

  • tsv

表形式の結果の推奨値: psqlgrid または fancy_grid

データのみの結果の推奨値(header および timing と組み合わせて False に設定して使用): plaincsv、または tsv

デフォルト

output_format=psql

paging

ブール値

説明

有効化すると、画面の高さごとに出力が一時停止します。この機能は、大きな結果セットを閲覧するのに便利です。下にスクロールするには、 [ENTER] / [RETURN] キーを押します。

デフォルト

paging=False

progress_bar

ブール値

説明

データの転送中に進行状況バーを表示します。

デフォルト

progress_bar=True

prompt_format

文字列

説明

SnowSQL プロンプトの形式を変更します。

SnowSQL プロンプトは、デフォルトで現在のユーザー、ウェアハウス、データベース、およびスキーマを動的に表示します。動的トークンは、[<トークン>]として記述されます(例:[ユーザー]または[ウェアハウス])。Snowflakeオブジェクトの順序、区切り文字、色を変更できます。角括弧でピグメントトークンを定義して、オブジェクトの色を変更します。

For example, change the object order to user, database and schema, then warehouse. Change the delimiter to a period. Change the [user] object name to red, the [database] and [schema] names to green, and the [warehouse] name to blue:

prompt_format="[#FF0000][user]@[#00FF00][database][schema][#0000FF][warehouse]"

値の前後に引用符を付けて、「#」文字がコメントの開始として解釈されないようにします。

デフォルト

None

quiet

ブール値

説明

端末からすべての出力データを削除しますが、エラーメッセージと診断データは引き続き表示されます。

デフォルト

quiet=True

remove_comments

ブール値

説明

出力からコメントを削除します。

デフォルト

remove_comments=False

remove_trailing_semicolons

ブール値

説明

Snowflakeにクエリを送信する前に、SQL テキストから後続のセミコロンを削除します。セミコロンを削除すると、 USE_CACHED_RESULT セッションパラメーターが有効化されたときに、Snowflakeで異なるクライアントからのキャッシュされた結果が使用できなくなることに注意してください。

デフォルト

remove_trailing_semicolons=True

results

ブール値

説明

クエリ結果を返します。 False の場合、クエリは非同期で実行され、エラーメッセージを含む結果は返されません。

デフォルト

results=True

rowset_size

説明

インタラクティブモードで一度に取得する行の数。その後、結果は一度に1行セットごとに取得され、出力されます。

デフォルト

rowset_size=1000

sfqid

ブール値

説明

結果の要約にSnowflakeクエリ ID を含めます。

デフォルト

sfqid=False

sfqid_in_error

ブール値

説明

エラーメッセージにSnowflakeクエリ ID を含めます。

デフォルト

sfqid_in_error=False

stop_on_error

ブール値

説明

エラーが発生すると、クエリの実行は停止しますが、終了しません。

デフォルト

stop_on_error=False

syntax_style

文字列(定数)

説明

SnowSQL のテキストの色を設定します。現在、 default のみがサポートされています。

デフォルト

syntax_style=default

timing

ブール値

説明

実行された SQL ステートメントの生成された行数と経過時間を表示するかどうかを指定します。この情報は、SnowSQL によってレンダリングされた結果テーブルの下にテキスト行として表示されます。 False に設定すると、結果テーブルの下のテキスト行は表示されません。

header および output_format と併用して、データのみの出力を生成できます。

デフォルト

timing=True

timing_in_output_file

ブール値

説明

output_file オプションが設定されている場合、出力ファイルに実行時間の詳細を含めるかどうかを指定します。また、 timing オプションを True に設定する必要があります。

False に設定すると、結果テーブルの下のテキスト行は出力ファイルに含まれません。

デフォルト

timing_in_output_file=False

variable_substitution

ブール値

説明

変数を値で置き換えます。

デフォルト

variable_substitution=False

wrap

ブール値

説明

出力を端末幅で折り返します。 False の場合、出力は切り捨てられます。

デフォルト

wrap=True