SnowSQL の構成¶
このトピックでは、接続パラメーター、構成オプション、および変数を使用して SnowSQL を構成する方法について説明します。
SnowSQL config ファイルについて¶
SnowSQL は、複数の構成ファイルをサポートしているため、組織は接続パラメーター、デフォルト設定、および変数の基本値を定義でき、個々のユーザーは自分の <HOME_DIR>/.snowsql/config ファイルで個人設定をカスタマイズできます。SnowSQL が起動すると、次の構成ファイルの場所から構成パラメーター値が順番にロードされ、以前にロードされたファイルの値が上書きされます。
/etc/snowsql.cnf/etc/snowflake/snowsql.cnf/usr/local/etc/snowsql.cnf<HOME_DIR>/.snowsql.cnf(下位互換性のためにのみサポートされています)<HOME_DIR>/.snowsql/config
たとえば、 /etc/snowsql.cnf 構成ファイルで log_level パラメーターが info に設定されている場合は、ファイル <HOME_DIR>/.snowsql/config ファイルでパラメーターを debug に設定すると、これをオーバーライドできます。
snowsql コマンドを初めて実行すると、以下のような構成ファイルが生成されます。
これらの構成ファイルは、 UTF-8エンコードを使用して作成する必要があります。
SnowSQL 構成ファイルを変更する¶
構成ファイルを変更するには:
テキストエディターで、 SnowSQL 構成ファイル (名前
config) を開きます。ファイルのデフォルトの場所は次のとおりです。- Linux/macOS:
~/.snowsql/- Windows:
%USERPROFILE%\.snowsql\
注釈
SnowSQL の起動時に、
--config pathコマンドラインフラグを指定すると、デフォルトの場所を変更できます。次のセクションの設定を変更します。
注意
パスワードは、
configファイルにプレーンテキストで保存されます。アクセスを制限するには、ファイルを明示的に保護する必要があります。たとえば、Linuxまたは macOS で、chmodを実行することにより、自分のみに読み取り権限を設定できます。
注釈
値に特殊文字(一重引用符または二重引用符以外)が含まれる場合は、一重引用符または二重引用符で囲む必要があります。例:
値に他の特殊文字 に加えて 引用文字が含まれる場合、バックスラッシュ(
\)文字を使用してこれらの引用をエスケープします。例:引用符文字のエスケープは、囲まれていない値(他の特殊文字を含まない値)ではオプションであることに注意してください。
複数行の値は、3つの一重引用符または二重引用符(
'''または""")で囲む必要があります。例:
接続パラメーターセクション¶
config ファイルの [connections] セクションで、 SnowSQL のデフォルトの接続パラメーター(例: アカウント識別子、ユーザーログイン認証情報、デフォルトのデータベースとウェアハウス)をオプションで設定します。また、 名前付き 接続を定義して、Snowflakeへの複数の同時接続を作成したり、異なる接続構成セットを保存したりすることもできます。
詳細については、 SnowSQL を介した接続 をご参照ください。
構成オプションセクション¶
config ファイルの [options] セクションに設定を追加して、 SnowSQL の動作を構成します。
条件:
<オプション名>はオプションの名前です(大文字と小文字は区別されません)。無効な名前が指定された場合、SnowSQLはエラーを表示します。<オプション値>は、以下で説明するように、オプションについてサポートされる値(大文字と小文字を区別しない)を指定します。
すべての有効なオプションの説明については、 SnowSQL 構成オプションリファレンス (このトピック)をご参照ください。
注釈
config ファイルの構成オプションの設定に加えて、次のいずれかの方法を使用してオプションを設定できます。
Snowflakeへの接続中に、
-oまたは--option接続パラメーターを使用してこれらのオプションを設定できます。詳細については、 接続パラメーターリファレンス をご参照ください。Snowflakeに接続した後、
!setコマンドを使用してセッションのこれらのオプションを設定できます。詳細については、 コマンドリファレンス をご参照ください。
変数セクション¶
config ファイルの [variables] セクションでは、値を変数として格納して再利用できます。この機能により、クエリでユーザー定義値とデータベース値を使用できます。
詳細については、 変数の使用 をご参照ください。
SnowSQL 構成オプションリファレンス¶
オプションは、デフォルトの SnowSQL 動作を変更します。次のいずれかの方法を使用して、これらのオプションを設定できます。
構成ファイル (このトピックで説明)で設定します。
Snowflakeへの接続時に
-oまたは--optionパラメーター を使用します。Snowflakeに接続したら、
!setコマンド を使用します。
注釈
オプションの名前と値は大文字と小文字を区別しません。
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_formatがTSVに設定されている場合、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
header¶
- 型:
ブール値
- 説明:
SnowSQLによってレンダリングされた結果テーブルにヘッダーを表示します。結果でデータのみを取得する場合、このオプションを無効化すると便利です。
output_formatおよびtimingと併用して、データのみの出力を生成できます。- デフォルト:
header=True
insecure_mode¶
- 型:
ブール値
- 説明:
オンライン証明書ステータスプロトコル(OCSP)を使用した証明書失効チェックをスキップします。このオプションは、OCSP サービスにアクセスできない緊急事態で使用できます。Snowflakeサポートからの指示がない限り、このオプションを 有効化しない ことを強くお勧めします。
- デフォルト:
insecure_mode=False
key_bindings¶
- 型:
文字列(定数)
- 説明:
使用するキーバインディング。可能な値:
emacs: CTRL + a がHomeキー、CTRL + :kbd:eがEndキー。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¶
- 型:
文字列(定数)
- 説明:
デフォルトのログレベル。可能な値:
CRITICAL、ERROR、WARNING、INFO、DEBUG。
login_timeout¶
- 型:
数
- 説明:
秒単位のログインタイムアウト。
- デフォルト:
login_timeout=120
noup¶
- 型:
ブール値
- 説明:
Trueの場合、SnowSQLが新しいバージョンをダウンロードしてインストールするのを防ぎます。デフォルトでは、バージョンが指定されていない場合、SnowSQLは最新バージョンに自動アップグレードします。- デフォルト:
noup=True
output_file¶
- 型:
文字列(パスとファイル名)
- 説明:
端末出力に加えて、指定されたファイルに出力を書き込みます。
- デフォルト:
なし
output_format¶
- 型:
文字列(定数)
- 説明:
端末に表示される結果の形式を指定します。可能な値:
csv
expanded
fancy_grid
grid
html
json
latex
latex_booktabs
mediawiki
orgtbl
pipe
plain
psql
rst
simple
tsv表形式の結果の推奨値:
psql、gridまたはfancy_gridデータのみの結果の推奨値(
header、timing、およびfriendlyと組み合わせてFalseに設定して使用):plain、csv、またはtsv- デフォルト:
output_format=psql
paging¶
- 型:
ブール値
- 説明:
有効化すると、画面の高さごとに出力が一時停止します。この機能は、大きな結果セットを閲覧するのに便利です。下にスクロールするには、 [ENTER]/[RETURN] キーを押します。
- デフォルト:
paging=False
progress_bar¶
- 型:
ブール値
- 説明:
データの転送中に進行状況バーを表示します。
- デフォルト:
progress_bar=True
prompt_format¶
- 型:
string
- 説明:
SnowSQL プロンプトの形式を変更します。
SnowSQL プロンプトは、デフォルトで現在のユーザー、ウェアハウス、データベース、およびスキーマを動的に表示します。動的トークンは、[<トークン>]として記述されます(例: [ユーザー]または[ウェアハウス])。Snowflakeオブジェクトの順序、区切り文字、および色を変更できます。角括弧でピグメントトークンを定義して、オブジェクトの色を変更します。
例えば、オブジェクトの順序をユーザー、データベース、スキーマ、ウェアハウスの順に変更します。区切り文字をピリオドに変更します。[ユーザー] オブジェクト名を赤、[データベース] および [スキーマ] 名を緑、[ウェアハウス] 名を青に変更します。
値の前後に引用符を付けて、「#」文字がコメントの開始として解釈されないようにします。
- デフォルト:
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 を含めます。
注意:
sqfidをスプールファイルに追加するには、timing_in_output_file=Trueも設定する必要があります。- デフォルト:
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