パラメーター

Snowflakeには、アカウント、個々のユーザーセッション、オブジェクトの動作を制御できるパラメーターが用意されています。すべてのパラメーターにはデフォルト値があり、パラメーター型(アカウント、セッション、またはオブジェクト)に応じて異なるレベルで設定および上書きできます。

このトピックの内容:

パラメーターの階層と型

このセクションでは、異なる型のパラメーター(アカウント、セッション、オブジェクト)と、各型に設定できるレベルについて説明します。

次の図は、異なるパラメーター型間の階層関係と、各レベルで個々のパラメーターを上書きする方法を示しています。

Hierarchy of account, session, and object parameters

アカウントパラメーター

アカウントパラメーターは、適切な管理者ロールを持つユーザーにより、アカウントレベルで のみ 設定できます。アカウントパラメーターは、 ALTER ACCOUNT コマンドを使用して設定されます。

Snowflakeは、次のアカウントパラメーターを提供します。

パラメーター

メモ

ALLOW_ID_TOKEN

Snowflakeが提供するクライアントのブラウザーベースのシングルサインオン(SSO)で、接続キャッシュを有効にするために使用されます

CLIENT_ENCRYPTION_KEY_SIZE

データのロードまたはアンロード用にステージングされたファイルの暗号化に使用されます。追加のインストールと構成が必要な場合があります(詳細は説明を参照)。

INITIAL_REPLICATION_SIZE_LIMIT_IN_TB

NETWORK_POLICY

これは、アカウント管理者(ACCOUNTADMIN)またはセキュリティ管理者(SECURITYADMIN)が設定できる、唯一のアカウントパラメーターです。

PERIODIC_DATA_REKEYING

PREVENT_UNLOAD_TO_INLINE_URL

REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION

REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION

SSO_LOGIN_PAGE

注釈

デフォルトでは、アカウントパラメーターは SHOW PARAMETERS の出力に 表示されません。アカウントパラメーターの表示の詳細については、このトピック内の パラメーターとその値の表示 をご参照ください。

セッションパラメーター

ほとんどのパラメーターはセッションパラメーターであり、次のレベルで設定できます。

アカウント

アカウント管理者は ALTER ACCOUNT コマンドを使用して、アカウントのセッションパラメーターを設定できます。アカウントに設定された値は、デフォルトで個々のユーザーとそのセッションに設定されます。

ユーザー

適切な権限(通常、 SECURITYADMIN ロール)を持つ管理者は、 ALTER USER コマンドを使用して、個々のユーザーのセッションパラメーターを上書きできます。ユーザーに設定された値は、ユーザーが開始したセッションにデフォルトで設定されます。さらに、ユーザーは ALTER USER を使用して自分用のデフォルトのセッションパラメーターを上書きできます。

セッション

ユーザーは ALTER SESSION を使用して、セッション内でセッションパラメーターを明示的に設定できます。

注釈

デフォルトでは、セッションパラメーターのみが SHOW PARAMETERS の出力に表示されます。アカウントおよびオブジェクトパラメーターの表示の詳細については、このトピック内の パラメーターとその値の表示 をご参照ください。

オブジェクトパラメーター

オブジェクトパラメーターは、次のレベルで設定できます。

アカウント

アカウント管理者は ALTER ACCOUNT コマンドを使用して、アカウントのオブジェクトパラメーターを設定できます。アカウントに設定された値は、アカウントで作成されたオブジェクトにデフォルト設定されます。

オブジェクト

適切な権限を持つユーザーは、対応する CREATE <オブジェクト> または ALTER <オブジェクト> コマンドを使用して、個々のオブジェクトのオブジェクトパラメーターを上書きできます。

Snowflakeは、次のオブジェクトパラメーターを提供します。

パラメーター

オブジェクト型

メモ

DATA_RETENTION_TIME_IN_DAYS

データベース、スキーマ、テーブル

DEFAULT_DDL_COLLATION

データベース、スキーマ、テーブル

MAX_CONCURRENCY_LEVEL

ウェアハウス

PIPE_EXECUTION_PAUSED

スキーマ、パイプ

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS

ウェアハウス

または、セッションパラメーター(オブジェクトレベルとセッションレベルの両方で設定可能)。継承と上書きの詳細については、パラメーターの説明をご参照ください。

STATEMENT_TIMEOUT_IN_SECONDS

ウェアハウス

または、セッションパラメーター(オブジェクトレベルとセッションレベルの両方で設定可能)。継承と上書きの詳細については、パラメーターの説明をご参照ください。

NETWORK_POLICY

ユーザー

これは、アカウント管理者(ACCOUNTADMIN)またはセキュリティ管理者(SECURITYADMIN)が設定できる、唯一のアカウントパラメーターです。

SHARE_RESTRICTIONS

共有

このパラメーターは、アカウント管理者(ACCOUNTADMIN)または OVERRIDE SHARE RESTRICTIONS 権限を持つロールのいずれかによって設定できます。

注釈

デフォルトでは、オブジェクトパラメーターは SHOW PARAMETERS の出力に表示 されません。オブジェクトパラメーターの表示の詳細については、このトピック内の パラメータとその値の表示 をご参照ください。

パラメーターとその値の表示

Snowflakeは SHOW PARAMETERS コマンドを提供します。このコマンドは、パラメーターのリストを、各パラメーターの現在値とデフォルト値とともに表示します。表示されるパラメーターの型を決定するために、異なるオプションでコマンドを呼び出すことができます。

セッションおよびオブジェクトパラメーターの表示

デフォルトでは、コマンドはセッションパラメーター のみ を表示します。

SHOW PARAMETERS;

特定のオブジェクトのオブジェクトパラメーターを表示するには、オブジェクトの種類と名前を含む IN 句を含めます。例:

SHOW PARAMETERS IN DATABASE mydb;

SHOW PARAMETERS IN WAREHOUSE mywh;

すべてのパラメーターの表示

アカウントおよびオブジェクトパラメーターを含む すべての パラメーターを表示するには、 IN ACCOUNT 句を含めます。

SHOW PARAMETERS IN ACCOUNT;

名前によるパラメーターのリストの制限

このコマンドでは、 LIKE 句を使用して、名前によるパラメーターのリストの制限もサポートしています。例:

  • 名前に「time」が含まれるセッションパラメーターを表示するには:

    SHOW PARAMETERS LIKE '%time%';
    
  • 名前が「time」で始まるすべてのパラメーターを表示するには、

    SHOW PARAMETERS LIKE 'time%' IN ACCOUNT;
    

注釈

LIKE 句は IN 句の前に来る必要があります。

ABORT_DETACHED_QUERY

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

セッションの突然の終了(ネットワークの停止、ブラウザの終了、サービスの中断など)により接続が失われた場合に、進行中のクエリに対してSnowflakeが実行するアクションを指定します。

TRUE :接続が失われると、進行中のクエリは5分後に中止されます。

FALSE :進行中のクエリは完了されます。

デフォルト

FALSE

注釈

  • ユーザーが明示的に接続を閉じると、パラメーター値に関係なく、進行中のすべてのクエリが直ちに中止されます。

  • ほとんどのクエリの実行には、計算リソースが必要です。これらのリソースは、実行中にクレジットを消費する仮想ウェアハウスによって提供されます。値が FALSE の場合、セッションが終了すると、ウェアハウスはセッションの終了時に進行中だったクエリを完了するためにクレジットの実行と消費を続ける可能性があります。

ALLOW_ID_TOKEN

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

Snowflakeへの各接続試行の開始時に、ユーザーが認証情報を入力する必要なく、継続的で安全な接続を促進するために、接続トークンをクライアント側のオペレーティングシステムキーストアに保存できるかどうかを指定します。サポートされているSnowflake提供のクライアントの詳細とリストについては、 (オプション)接続キャッシュを使用して認証のプロンプト数を最小限に抑制 をご参照ください。

TRUE :接続トークンをクライアント側のオペレーティングシステムのキーストアに保存して、新しい接続が確立されるたびにユーザーに認証を求めることなく、クライアントアプリケーションがブラウザーベースの SSO を実行できるようにします。

FALSE :接続トークンを保存しません。ユーザーは、クライアントアプリケーションがSnowflakeとの新しい接続を確立するたびに認証を求められます。SSO このパラメーターがfalseに設定されている場合、Snowflakeへの移行は引き続き可能です。

デフォルト

FALSE

AUTOCOMMIT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

セッションで自動コミットを有効にするかどうかを指定します。自動コミットは、アクティブなトランザクションなしで実行された DML ステートメントが、ステートメントが正常に完了した後に自動的にコミットされるかどうかを決定します。詳細については、 トランザクション をご参照ください。

TRUE :自動コミットが有効になっています。

FALSE :自動コミットは無効です。つまり、 DML ステートメントを明示的にコミットまたはロールバックする必要があります。

デフォルト

TRUE

AUTOCOMMIT_API_SUPPORTED (表示のみ)

N/A

データ型

ブール値

説明

Snowflakeの内部使用専用です。アカウントで API 自動コミットのサポートが有効になっているかどうかを示す表示専用パラメーターです。値が TRUE の場合、次のドライバー/コネクタの APIs を使用して自動コミットを有効または無効にできます。

BINARY_INPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

説明

バイナリ値の入力形式。

HEXBASE64 、または UTF8 / UTF-8

デフォルト

HEX

BINARY_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

説明

バイナリ値の表示形式。

HEX または BASE64

デフォルト

HEX

CLIENT_ENABLE_LOG_INFO_STATEMENT_PARAMETERS

セッション --- セッションの設定のみ可能

データ型

ブール値

クライアント

JDBC

説明

ユーザーが PreparedStatements にバインドされたデータ値をログに記録できるようにします。

値を表示するには、このセッションレベルのパラメーターを TRUE に設定するだけでなく、 TRACING という名前の接続パラメーターを INFO または ALL のいずれかに設定する必要があります。

  • すべてのデバッグ情報とすべてのバインディング情報を表示するには、 TRACINGALL に設定します。

  • TRACINGINFO に設定すると、バインディングパラメーター値が表示され、他のデバッグ情報は表示されなくなります。

TRUE または FALSE

デフォルト

FALSE

CLIENT_ENCRYPTION_KEY_SIZE

アカウント --- アカウントにのみ設定可能

データ型

整数

クライアント

指定なし

説明

Snowflakeが内部ステージ(データのロード/アンロード用)に保存されているファイルを暗号化/復号化するために使用する AES 暗号化キーサイズをビット単位で指定します。

128 または 256

デフォルト

128

注釈

  • このパラメーターは、外部ステージ(つまり、S3バケットまたはAzureコンテナー)に保存されているファイルの暗号化/復号化には使用されません。これらのファイルの暗号化/復号化は、 COPY コマンドまたはコマンドで参照される名前付き外部ステージで明示的に指定された外部暗号化キーを使用して実行されます。

  • JDBC ドライバーを使用しており、このパラメーターを256(強力な暗号化用)に設定する場合、追加の JCE ポリシーファイルをデータのロード/アンロード元の各クライアントマシンにインストールする必要があります。必要なファイルのインストールの詳細については、 JDBC ドライバーのJava要件 をご参照ください。

  • Pythonコネクタ(または SnowSQL)を使用しており、このパラメーターを256(強力な暗号化用)に設定する場合、追加のインストールまたは構成タスクは必要ありません。

CLIENT_MEMORY_LIMIT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数

クライアント

JDBC

説明

JDBC ドライバーがクエリからの結果セットに使用するメモリの最大量(単位: MB)を指定するパラメーターです。JVM メモリ管理を簡素化するために、パラメーターはすべてのクエリに対して グローバル 最大メモリ使用制限を設定します。

CLIENT_RESULT_CHUNK_SIZE は、ダウンロードするクエリ結果の各セット(または チャンク)の最大サイズを指定します(MB内)。ドライバーは、チャンクを処理するために追加のメモリを必要とする場合があります。その場合ドライバーは、少なくとも1つのスレッド/クエリを処理するため、ランタイム中にメモリ使用量を調整します。十分なメモリを使用できるように、 CLIENT_MEMORY_LIMIT が CLIENT_RESULT_CHUNK_SIZE よりも大幅に高く設定されていることを確認します。

注釈

  • ドライバーはパラメーター値を受け入れようとしますが、システムメモリの使用量を80%に制限します。

  • このパラメーターで設定されたメモリ使用量の制限は、他の JDBC ドライバー操作(例:データベースへの接続、クエリの準備、または PUT および GET ステートメント)には適用されません。

有効なメガバイト数。

デフォルト

1536 (事実上1.5 GB)

ほとんどのユーザーは、このパラメーターを設定する必要はありません。このパラメーターがユーザーによって設定されていない場合、ドライバーは上記で指定されたデフォルトで起動しますが、使用可能なメモリすべてを使い果たすことを避けるため、メモリを控え目に使用するように積極的に管理します。

CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX

セッション --- ユーザー » セッションで設定可能

データ型

ブール値

クライアント

JDBC, ODBC

説明

特定の ODBC 関数と JDBC メソッドの場合、このパラメーターにより、デフォルトの検索範囲をすべてのデータベース/スキーマから現在のデータベース/スキーマに変更できます。通常、検索範囲を狭くすると、返される行が少なくなり、実行速度が上がります。

たとえば、 getTables() JDBC メソッドは、データベース名とスキーマ名を引数として受け入れ、データベースとスキーマ内のテーブルの名前を返します。データベースとスキーマの引数が null の場合、デフォルトでは、メソッドはアカウント内のすべてのデータベースとすべてのスキーマを検索します。CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX を TRUE に設定すると、 接続コンテキスト で指定された現在のデータベースとスキーマに検索が絞り込まれます。

基本的に、このパラメーターを TRUE に設定すると、データベースとスキーマに次の優先順位が作成されます。

  1. 関数/メソッドに引数として渡される値。

  2. 接続コンテキスト (存在する場合)で指定された値。

  3. デフォルト(すべてのデータベースとすべてのスキーマ)。

詳細については、以下をご参照ください。

このパラメーターは以下に適用されます。

  • JDBC ドライバーメソッド(DatabaseMetaData クラス用):

    • getColumns

    • getCrossReference

    • getExportedKeys

    • getForeignKeys

    • getFunctions

    • getImportedKeys

    • getPrimaryKeys

    • getSchemas

    • getTables

  • ODBC ドライバー関数:

    • SQLTables

    • SQLColumns

    • SQLPrimaryKeys

    • SQLForeignKeys

    • SQLGetFunctions

TRUE :データベースとスキーマの引数が null の場合、ドライバーは、 接続コンテキスト で指定されたデータベースとスキーマのみのメタデータを取得します。

相互作用については、以下の表で詳しく説明します。

FALSE :データベースとスキーマの引数が null の場合、ドライバーはアカウント内のすべてのデータベースとスキーマのメタデータを取得します。

デフォルト

FALSE

その他の注意事項

接続コンテキスト は、セッションの現在のデータベースとスキーマを参照し、次のオプションのいずれかを使用して設定できます。

  1. Snowflakeに接続する(およびセッションを開始する)ユーザーのデフォルトの名前空間を指定します。 CREATE USER または ALTER USER コマンドを使用してユーザーのために設定できますが、ユーザーが接続する前に設定する必要があります。

  2. ドライバーを介してSnowflakeに接続するときに、データベースとスキーマを指定します。

  3. セッション内で USE DATABASE または USE SCHEMA コマンドを発行します。

データベースまたはスキーマがこれらの複数で指定されている場合は、最新のものが適用されます。

CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX が TRUE に設定されている場合:

データベース引数

スキーマ引数

使用するデータベース

使用するスキーマ

null以外

null以外

引数

引数

null以外

Null

引数

すべてのスキーマ

Null

null以外

接続コンテキスト

引数

Null

Null

接続コンテキスト

セッションコンテキスト

注釈

JDBC ドライバーの場合、この動作はバージョン3.6.27(およびそれ以上)に適用されます。ODBC ドライバーの場合、この動作はバージョン2.12.96(およびそれ以上)に適用されます。

接続コンテキストデータベースのみを検索するが、そのデータベース内のすべてのスキーマを検索する場合は、 CLIENT_METADATA_USE_SESSION_DATABASE をご参照ください。

CLIENT_METADATA_USE_SESSION_DATABASE

セッション --- セッションで設定可能

データ型

ブール値

クライアント

JDBC

説明

このパラメーターは、 CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX の影響を受けるメソッドのみに適用されます。

このパラメーターは、次の両方の条件が満たされた場合に のみ 適用されます。

特定の ODBC 関数と JDBC メソッドの場合、このパラメーターにより、デフォルトの検索範囲をすべてのデータベースから現在のデータベースに変更できます。通常、検索範囲を狭くすると、返される行が少なくなり、実行速度が上がります。

詳細については、以下をご参照ください。

TRUE :

ドライバーにより、接続コンテキストのデータベース内のすべてのスキーマが検索されます。(接続コンテキスト の詳細については、 CLIENT_METADATA_REQUEST_USE_CONNECTION_CTX のドキュメントをご参照ください。)

FALSE :

ドライバーにより、すべてのデータベースのすべてのスキーマが検索されます。

デフォルト

FALSE

その他の注意事項

データベースが null で、スキーマが nullCLIENT_METADATA_REQUEST_USE_CONNECTION_CTX が FALSE の場合:

CLIENT_METADATA_USE_SESSION_DATABASE

動作

FALSE

すべてのデータベース のすべてのスキーマが検索されます。

TRUE

現在のデータベース 内のすべてのスキーマを検索します。

CLIENT_PREFETCH_THREADS

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数

クライアント

JDBC、Python

説明

クライアントが大きな結果セットをプリフェッチするために使用するスレッドの数を指定するパラメーターです。ドライバーはパラメーター値を尊重しようとしますが、パフォーマンスを改善するために(システムのリソースに応じて)最小値と最大値を定義します。

110

デフォルト

4

ほとんどのユーザーは、このパラメーターを設定する必要はありません。このパラメーターがユーザーによって設定されていない場合、ドライバーは上記で指定されたデフォルトで起動しますが、使用可能なメモリすべてを使い果たすことを避けるため、積極的にスレッド数を管理します。

CLIENT_RESULT_CHUNK_SIZE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数

クライアント

JDBC

説明

ダウンロードするクエリ結果の各セット(または チャンク)の最大サイズを指定するパラメーターです( MB内)。JDBC ドライバーはクエリ結果をチャンクでダウンロードします。

CLIENT_MEMORY_LIMIT もご参照ください。

48160

デフォルト

160

ほとんどのユーザーは、このパラメーターを設定する必要はありません。このパラメーターがユーザーによって設定されていない場合、ドライバーは上記で指定されたデフォルトで起動しますが、使用可能なメモリすべてを使い果たすことを避けるため、メモリを控え目に使用するように積極的に管理します。

CLIENT_RESULT_COLUMN_CASE_INSENSITIVE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

クライアント

JDBC

説明

JDBC の ResultSet.get* メソッドで大文字と小文字を区別せずに列名を一致させるかどうかを示すパラメーターです。

TRUE:大文字と小文字を区別せずに列名と一致します。

FALSE:大文字と小文字を区別して列名と一致します。

デフォルト

FALSE

CLIENT_SESSION_KEEP_ALIVE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

クライアント

JDBC 、ODBC、Python、Node.js

説明

セッションで非アクティブな状態が一定時間続いた後、ユーザーを強制的に再度ログインさせるかどうかを示すパラメーターです。

TRUE :Snowflakeは、ユーザーからのアクティビティがない場合でも、 接続がアクティブである限り、セッションを無期限にアクティブに保ちます。

FALSE :ユーザーは、非アクティブな状態が4時間続いた後、再度ログインする必要があります。

デフォルト

FALSE

注釈

現在、 ALTER SESSION コマンドを実行してセッションレベルでパラメーターを設定することはできません。セッションレベルでパラメーターを設定する方法については、クライアントのドキュメントをご参照ください。

CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数

クライアント

SnowSQL、 JDBC、Python、Node.js

説明

クライアントがセッションのトークンの更新を試みる間の秒数です。

9003600

デフォルト

3600

CLIENT_TIMESTAMP_TYPE_MAPPING

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

クライアント

指定なし

説明

バインド API を使用してデータをロードする JDBC または ODBC アプリケーションのタイムスタンプ変数をバインドするときに使用する TIMESTAMP_*バリエーションを指定します。

TIMESTAMP_LTZ または TIMESTAMP_NTZ

デフォルト

TIMESTAMP_LTZ

DATA_RETENTION_TIME_IN_DAYS

オブジェクト(データベース、スキーマ、テーブル用) --- アカウント » データベース » スキーマ » テーブルで設定可能

データ型

説明

Snowflakeがオブジェクトに対してTime Travelアクション(SELECT、 CLONE、 UNDROP)を実行するための履歴データを保持する日数です。 0 の値は、指定されたデータベース、スキーマ、またはテーブルのTime Travelを効果的に無効にします。詳細については、 Time Travelの理解と使用 をご参照ください。

0 または 1Standard Edition の場合)

090Enterprise Edition以上 の場合)

デフォルト

1

DATE_INPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

DATE データ型の入力形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされている日付形式または AUTO

AUTO は、セッション中にシステムに保存されている日付形式の自動検出をSnowflakeが試行することを指定します)

デフォルト

AUTO

DATE_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

DATE データ型の表示形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされている日付形式

デフォルト

YYYY-MM-DD

DEFAULT_DDL_COLLATION

オブジェクト(データベース、スキーマ、テーブル用) --- アカウント » データベース » スキーマ » テーブルで設定可能

データ型

文字列

説明

次の DDL 操作に使用されるデフォルトの照合を設定します。

このパラメーターを設定すると、列の照合が DDL で明示的に定義されていない限り、影響を受けるオブジェクト(テーブル、スキーマ、データベース、またはアカウント)内でその後作成される、すべての列が指定された照合をデフォルトとして強制されます。

例えば、 DEFAULT_DDL_COLLATION = 'en-ci' の場合、次の2つのステートメントは同等です。

create table test(c1 integer, c2 string, c3 string collate 'en-cs')

create table test(c1 integer, c2 string collate 'en-ci', c3 string collate 'en-cs');

有効な、サポートされている 照合仕様

デフォルト

空の文字列

注釈

アカウントのデフォルトの照合を設定するには、次のコマンドを使用します。

テーブル列のデフォルトの照合は、作成中またはその後いつでもテーブル、スキーマ、またはデータベースレベルで設定できます。

ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

論理列データ型(つまり、アンロード SQL クエリまたはソーステーブルの型)またはアンロードされた列の値(つまり、アンロード SQL ステートメントまたはソーステーブルの出力列の値をサポートする、最小のデータ型と精度)に基づいて、アンロードされたParquetファイルのスキーマを設定するかどうかを指定します。

TRUE :アンロードされたParquetデータファイルのスキーマは、アンロード SQL クエリまたはソーステーブルの列の値によって決定されます。Snowflakeは、すべての値を受け入れる最小の精度を設定することにより、テーブル列を最適化します。アンロードは、値をParquetファイルに書き込むときにこのパターンに従います。出力列のデータ型と精度は、アンロード SQL ステートメントまたはソーステーブルの値をサポートする最小のデータ型と精度に設定されます。パフォーマンスを向上させ、データファイルを小さくするには、この設定を受け入れます。

FALSE :スキーマは、論理列のデータ型によって決定されます。一貫性のある出力ファイルスキーマにこの値を設定します。

デフォルト

TRUE

ERROR_ON_NONDETERMINISTIC_MERGE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

MERGE コマンドを使用して、複数のソース行を結合するターゲット行を更新または削除し、システムがターゲット行で実行するアクションを決定できない場合にエラーを返すかどうかを指定します。

TRUE :エラーの原因となったターゲット行の1つからの値を含むエラーが返されます。

FALSE :エラーは返されず、マージは正常に完了しますが、マージの結果は非決定的です。

デフォルト

TRUE

ERROR_ON_NONDETERMINISTIC_UPDATE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

UPDATE コマンドを使用して、複数のソース行を結合するターゲット行を更新し、システムがターゲット行で実行するアクションを決定できない場合にエラーを返すかどうかを指定します。

TRUE :エラーの原因となったターゲット行の1つからの値を含むエラーが返されます。

FALSE :エラーは返されず、更新は完了しますが、更新の結果は非決定的です。

デフォルト

FALSE

GEOGRAPHY_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

説明

地理空間値 の表示形式。

EWKT および EWKB の場合、出力では SRID は常に4326です。 EWKT および EWKB の取り扱いに関する注意 をご参照ください。

GeoJSONWKTWKBEWKT、または EWKB

デフォルト

GeoJSON

INITIAL_REPLICATION_SIZE_LIMIT_IN_TB

アカウント --- アカウントにのみ設定可能

データ型

数値。

説明

プライマリデータベースのセカンダリデータベースへの初期レプリケーションを実行するときに適用される、最大推定サイズ制限を設定します( TB内)。このサイズ制限は、アカウントが誤って大量のデータベース複製料金を負担するのを防ぐのに役立ちます。

サイズ制限を削除するには、値を 0.0 に設定します。

現在、セカンダリデータベースの後続の更新に適用されるデフォルトのサイズ制限はありません。

少なくとも1のスケールを持つ 0.0 以上(例: 20.532.2533.333 など)。

デフォルト

10.0

JDBC_TREAT_DECIMAL_AS_INT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

スケールがゼロ(0)の列を JDBC が処理する方法を指定します。

TRUE : JDBC は、スケールがゼロの列を BIGINT として処理します。

FALSE: JDBC は、スケールがゼロの列を DECIMAL として処理します。

デフォルト

TRUE

JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

JDBC が TIMESTAMP_NTZ 値を処理する方法を指定します。

デフォルトでは、JDBC ドライバーが TIMESTAMP_NTZ 型の値をSnowflakeからフェッチすると、ドライバーはユーザーのセッションに基づいて、値を UTC から現在のタイムゾーンに変換します。

UTC に TIMESTAMP_NTZ 値を保持したいユーザーは、このパラメーターを TRUE に設定できます。

このパラメーターは JDBC ドライバーにのみ適用されます。

TRUE: ドライバーは TIMESTAMP_NTZ 値を変更しません。値は UTC のままです。

FALSE: ドライバーは、TIMESTAMP_NTZ の値を UTC からユーザーの

現在のタイムゾーンに変換します。

デフォルト

FALSE

JSON_INDENT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数

説明

セッションの JSON 出力の各新しい要素をインデントする空白スペースの数を指定します。また、各要素の後に改行文字を挿入するかどうかを指定します。

016

0 の値は、出力からすべての空白スペースと改行文字を削除することにより、コンパクトな出力を返します)

デフォルト

2

注釈

このパラメーターは、 COPY INTO <場所> コマンドを使用してテーブルからファイルにアンロードされた JSON には影響しません。このコマンドは常に JSON データを次のndjson形式でアンロードします。

  • 改行文字で区切られたテーブルの各レコード。

  • 各レコード内で、コンパクトなフォーマット(スペースや改行文字は使用しない)。

JS_TREAT_INTEGER_AS_BIGINT

セッション --- セッションで設定可能

データ型

ブール値

説明

Snowflake Node.jsドライバーが、スケールがゼロ(0)の数値列( INTEGER または NUMBER(p、0)など)を処理する方法を指定します。

TRUE : JavaScript は、スケールがゼロの列をBigintとして処理します。

FALSE : JavaScript は、スケールがゼロの列をNumberとして処理します。

デフォルト

FALSE

注釈

デフォルトでは、Snowflake INTEGER 列( BIGINT、 NUMBER(p、0)などを含む)は JavaScript のNumberデータ型に変換されます。ただし、有効なSnowflake整数の最大値は、有効な JavaScript Numberの最大値よりも大きくなります。Snowflakeの INTEGER 列を、 JavaScript Numberより大きな値を保存できる JavaScript Bigintに変換するには、セッションパラメーター JS_TREAT_INTEGER_AS_BIGINTを設定します。

このパラメーターの使用方法の例については、 Bigintとしての整数データ型の取得 をご参照ください。

LOCK_TIMEOUT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

説明

リソースをロックしようとして、タイムアウトしてステートメントを中止するまでの待機秒数です。

0 任意の数(つまり、制限なし)

0 の値はロック待機を無効にします。つまり、ステートメントはすぐにロックを取得するか中止する必要があります。ステートメントによって複数のリソースをロックする必要がある場合、タイムアウトは各ロック試行に個別に適用されます)

デフォルト

43200 (つまり、12時間)

MAX_CONCURRENCY_LEVEL

オブジェクト(ウェアハウス用) --- アカウント » ウェアハウスで設定可能

データ型

説明

ウェアハウスクラスターによって実行される SQL ステートメント(クエリおよび DML)の同時実行レベルを指定します。レベルに達したときに実行される操作は、ウェアハウスが単一クラスターかマルチクラスターかによって異なります。

  • 単一クラスターまたはマルチクラスター(最大化モード): ステートメントは、既に割り当てられたリソースが解放されるか、追加のリソースがプロビジョニングされるまでキューに入れられます。これは、ウェアハウスのサイズを増やすことで実現できます。

  • マルチクラスター(自動スケールモード): 追加のクラスターが開始されます。

MAX_CONCURRENCY_LEVEL を STATEMENT_QUEUED_TIMEOUT_IN_SECONDS パラメーターと組み合わせて使用すると、ウェアハウスがバックログされないようにできます。

このパラメーターは、ウェアハウスクラスターによって同時に実行できるステートメントの数を 制限しません。代わりに、リソースの過剰割り当てから保護するための上限として機能します。各ステートメントがウェアハウスに送信されると、Snowflakeはステートメントを実行するためのリソースを割り当てます。十分なリソースが利用できない場合、ステートメントはキューに入れられるか、ウェアハウスに応じて追加のクラスターが開始されます。

ウェアハウスクラスターによって同時に実行されるステートメントの実際の数は、指定されたレベルよりも多い場合や少ない場合があります。

  • より小さく、より基本的なステートメント :通常、小さなステートメントはウェアハウスクラスター内のサーバーのサブセットで実行されるため、より多くのステートメントが同時に実行される場合があります。これは、それらが並行性レベルの一部としてのみカウントされることを意味します。

  • より大きく、より複雑なステートメント :より少ないステートメントを同時に実行できる場合があります。

デフォルト

8

ちなみに

この値は デフォルト のみであり、いつでも変更できます。

  • ウェアハウスの同時実行レベルを下げると、ステートメントごとの計算リソースの割り当てが増加し、特に大規模/複雑な複数ステートメントのクエリの場合、クエリパフォーマンスが潜在的に高速になります。

  • ウェアハウスの並行性レベルを上げると、ステートメントごとの計算リソースの割り当てが減ります。ただし、ウェアハウスで実行できる同時クエリの総数を必ずしも制限したり、実行されるクエリの性質に応じてウェアハウスのパフォーマンス全体を必ずしも改善したりするわけではありません。

前述のように、Snowflakeはキューイングを回避するためにウェアハウス内で新しいクラスターを自動的に開始するため、このパラメーターはマルチクラスターウェアハウス(自動スケールモード)に影響します。したがって、マルチクラスターウェアハウスの同時実行レベルを下げると(自動スケールモード)、いつでもアクティブなクラスターの数が増える可能性があります。

またSnowflakeは、ステートメントが送信されると各ステートメントにリソースを自動的に割り当てます。割り当てられた量は、ステートメントの個々の要件によって決定されます。これに基づき、時間の経過に伴うユーザークエリパターンの観察結果を通して、パフォーマンスとリソース使用量のバランスをとるデフォルトを選択しました。

そのため、デフォルトを変更する前に、パラメーターを少しずつ調整し、クエリの代表的なセットに対する影響を観察して、変更を テスト することを推奨します。

MULTI_STATEMENT_COUNT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

整数(定数)

クライアント

JDBC, ODBC

説明

マルチステートメント機能を使用するときに実行するステートメントの数。

0: Variable number of statements.

1: One statement.

負の数は許可されていません。

デフォルト

1

NETWORK_POLICY

アカウント --- アカウントに対してのみ設定可能(アカウント管理者およびセキュリティ管理者が設定可能)

オブジェクト(ユーザー用) --- アカウント » ユーザーに設定可能

データ型

文字列

説明

アカウントに適用するネットワークポリシーを指定します。ネットワークポリシーにより、ユーザーの IP アドレスに基づいてアカウントへのアクセスを制限できます。詳細については、 ネットワークポリシー をご参照ください。

既存のネットワークポリシー( CREATE NETWORK POLICY を使用して作成)

デフォルト

なし

注釈

これは、セキュリティ管理者(SECURITYADMIN)以上が設定できる唯一のアカウントパラメーターです。

SHARE_RESTRICTIONS

オブジェクト(共有用) --- 共有用に設定できます。

データ型

ブール値

説明

このパラメーターは、データ共有にのみ適用されます。Business Criticalプロバイダーアカウントに属する共有に対する、Business Critical以外のコンシューマーアカウントの追加を有効または無効にします。詳細については、 Business CriticalアカウントからBusiness Critical以外のアカウントへの共有を有効にする をご参照ください。

FALSE :Business Critical以外のコンシューマーアカウントは、Business Criticalプロバイダーアカウントに属する共有に追加できます。

TRUE:Business Critical以外のコンシューマーアカウントは、Business Criticalプロバイダーアカウントに属する共有に追加できません。

デフォルト

TRUE

注釈

このパラメーターはアカウントレベルでは設定できません。

PERIODIC_DATA_REKEYING

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

このパラメーターは、 Enterprise Edition (またはそれ以上)にのみ適用されます。毎年、新しいキーを使用してテーブルデータの再暗号化を有効/無効にして、データ保護の追加レベルを提供します。

キー更新はいつでも有効または無効にできます。キー更新を有効または無効にしても、暗号化されたデータにギャップは生じません。

  • キー更新を一定期間有効にしてから無効にした場合、キー更新のためにすでにタグ付けされたすべてのデータではキー更新されますが、キー更新を再有効化するまで、データのキー更新はされません。

  • キー更新が再度有効にされると、Snowflakeは、基準を満たすキー(つまり、キーが1年よりも古いもの)を持つすべてのデータを自動的に再生成します。

暗号化されたデータのキー更新の詳細については、 データ暗号化 をご参照ください。

TRUE :データが最後に暗号化されてから1年が経過すると、データのキーが再生成されます。キー更新はバックグラウンドで行われるため、ダウンタイムは発生せず、影響を受けるデータ/テーブルは常に利用可能です。

FALSE :データのキーは再生成されません。

デフォルト

FALSE

注釈

データのキー更新後、古いデータ(以前のキー暗号化を使用)は標準期間(7日)の間Fail-safeで維持されるため、データのキー更新に関連する料金が発生します。このため、定期的なキー更新はデフォルトで無効になっています。定期的なキー更新を有効にするには、明示的に有効にする必要があります。

また、キー更新のFail-safe料金は、毎月の明細書に個別に記載されていません。アカウントのFail-safeの毎月の合計に含まれます。

Fail-safeの詳細については、 Fail-safeの理解と表示 をご参照ください。

PIPE_EXECUTION_PAUSED

オブジェクト --- アカウント » スキーマ » パイプで設定可能

データ型

ブール値

説明

主にパイプの所有権を別のロールに移行する準備として、実行中のパイプを一時停止するかどうかを指定します。

  • アカウント管理者(ACCOUNTADMIN ロールを持つユーザー)は、アカウントレベルでこのパラメーターを設定し、アカウント内のすべてのパイプを効果的に一時停止または再開できます。

  • スキーマに対する MODIFY 権限を持つユーザーは、スキーマ内のすべてのパイプを一時停止または再開できます。

  • パイプの所有者は、パイプにこのパラメーターを設定できます。

アカウントまたはスキーマレベルでパラメーターを設定すると、そのパラメーターが下位レベル(パイプ所有者によってパイプレベルなど)で明示的に設定されていないパイプのみに影響します。

これにより、パイプ管理者はアカウントレベルですべてのパイプを一時停止でき、パイプ所有者は個々のパイプを実行できます。

TRUE :パイプを一時停止します。パラメーターをこの値に設定すると、 SYSTEM$PIPE_STATUS 関数は executionStatePAUSED として表示します。パイプの所有者は、一時停止したパイプに引き続きファイルを送信できます。ただし、パイプが再開されるまでファイルは処理されません。

FALSE :一時停止中にパイプの所有権が転送されていない場合にのみ、パイプを再開します。パラメーターをこの値に設定すると、 SYSTEM$PIPE_STATUS 関数は executionStateRUNNING として表示します。

パイプの一時停止後にパイプの所有権が別のロールに転送された場合、このパラメーターを使用してパイプを再開することはできません。代わりに、 SYSTEM$PIPE_FORCE_RESUME 関数を使用してパイプを明示的に 強制 して再開します。

これにより、新しい所有者は SYSTEM$PIPE_STATUS を使用してパイプを再開する前にパイプの状態を評価できます(例:ロードを待機しているファイルの数を判断可能)。

デフォルト

FALSE (パイプはデフォルトで実行されています)

注釈

一般的に、所有権を譲渡する場合を除き、パイプを一時停止する必要はありません。

PREVENT_UNLOAD_TO_INLINE_URL

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

外部のクラウドストレージの場所へのアドホックデータのアンロード操作を禁止するかどうかを指定します(つまり、クラウドストレージを指定する COPY INTO <場所> ステートメント URL とステートメントで設定に直接アクセス)。例については、 テーブルから外部ロケーションのファイルに直接データをアンロード をご参照ください。

TRUE : COPY INTO <場所> ステートメントは、名前付き内部(Snowflake)か外部ステージ、 もしくは 内部ユーザーかテーブルステージの いずれか を参照する必要があります。名前付き外部ステージには、その定義でクラウドストレージ URL とアクセス設定を保存する必要があります。

FALSE :外部クラウドストレージの場所へのアドホックデータアンロード操作が許可されています。

デフォルト

FALSE

QUERY_TAG

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(最大2000文字)

説明

セッション内で実行されるクエリおよびその他の SQL ステートメントのタグ付けに使用できるオプションの文字列です。タグは、 QUERY_HISTORY , QUERY_HISTORY_BY_* 関数の出力に表示されます。

デフォルト

なし

QUOTED_IDENTIFIERS_IGNORE_CASE

セッション --- アカウン ト » ユーザー » セッションで設定できます

テーブル --- テーブル » スキーマ » データベースの設定可能

データ型

ブール値

説明

二重引用符で囲まれたすべてのオブジェクト識別子で大文字と小文字を無視するかどうかを指定します。

TRUE :二重引用符で囲まれた識別子は大文字と小文字を区別しません(大文字と小文字は無視され、すべての文字は大文字として扱われる)。

FALSE :二重引用符で囲まれた識別子は大文字と小文字が区別されます。Snowflakeは、指定されたケースの識別子を解決して保存します。

詳細については、 識別子の解決 をご参照ください。

デフォルト

FALSE

例:

識別子

FALSE に設定されたパラメーター(デフォルト)

TRUE に設定されたパラメーター

"columnname"

解決先:

columnname

COLUMNNAME

"columnName"

解決先:

columnName

COLUMNNAME

"ColumnName"

解決先:

ColumnName

COLUMNNAME

"COLUMNNAME"

解決先:

COLUMNNAME

COLUMNNAME

REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

プライベートクラウドストレージの場所にアクセスするための名前付き外部ステージ( CREATE STAGE を使用)を作成するときに、クラウド認証情報としてストレージ統合オブジェクトを要求するかどうかを指定します。

TRUE :プライベートクラウドストレージの場所にアクセスするための外部ステージを作成するには、ストレージ統合オブジェクトをクラウド認証情報として参照する必要があります。

FALSE :外部ステージの作成では、ストレージ統合オブジェクトを参照する必要はありません。代わりにユーザーは、秘密鍵やアクセストークンなど、明示的なクラウドプロバイダー認証情報が保管場所用に構成されている場合、これらを参照できます。

デフォルト

FALSE

REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

プライベートクラウドストレージの場所からデータをロードまたはアンロードするときに、クラウド認証情報としてストレージ統合オブジェクトを参照する、名前付き外部ステージを使用する必要があるかどうかを指定します。

TRUE :プライベートクラウドストレージの場所からデータをロードまたはアンロードするには、ストレージ統合オブジェクトを参照する名前付きの外部ステージを使用する必要があります。秘密鍵やアクセストークンなどの明示的なクラウドプロバイダー認証情報を参照する名前付き外部ステージを指定すると、ユーザーエラーが発生します。

FALSE :ユーザーは、明示的なクラウドプロバイダーの認証情報を参照する名前付きの外部ステージを使用して、プライベートクラウドストレージの場所からデータをロードまたはアンロードできます。

PREVENT_UNLOAD_TO_INLINE_URL が FALSE の場合、ユーザーは COPY ステートメントで、明示的なクラウドプロバイダーの認証情報を直接指定できます。

デフォルト

FALSE

ROWS_PER_RESULTSET

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

説明

結果セットで返される行の最大数を指定します。

0 から任意の数(無制限 )--- 0 の値は最大値を指定しません。

デフォルト

0

SAML_IDENTITY_PROVIDER

アカウント --- アカウントにのみ設定可能

データ型

JSON

説明

統合認証を有効にします。パラメーターは、一重引用符で囲まれた JSON オブジェクトを受け入れ、次のフィールドを持ちます。

{
  "certificate": "",
  "ssoUrl": "",
  "type"  : "",
  "label" : ""
}

条件:

certificate

IdP とSnowflake間の通信を検証する証明書( IdPによって生成される)を指定します。

ssoUrl

Snowflakeが SAML リクエストを送信する URL エンドポイント( IdPが提供)を指定します。

type

フェデレーション認証に使用される IdP の型を指定します("OKTA""ADFS""Custom")。

label

Snowflakeログインページの IdP のボタンテキストを指定します。デフォルトのラベルは Single Sign On です。デフォルトのラベルを変更する場合、指定するラベルに含めることができるのは英数字のみです(つまり、特殊文字と空白は現在サポートされていない)。

"type" フィールドが "Okta" の場合、SnowflakeはボタンにOktaロゴを表示するため、 label フィールドの値を指定する必要はありません。

パラメーターの設定例を含む詳細については、 フェデレーション認証を使用するためのSnowflakeの構成 をご参照ください。

デフォルト

なし

SIMULATED_DATA_SHARING_CONSUMER

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

共有データ、特に共有セキュアビューのテスト/検証のためにシミュレートするコンシューマアカウントの名前を指定します。セッションでこのパラメーターが設定されると、共有ビューは、プロバイダーアカウントではなく、指定されたコンシューマーアカウントで実行されたかのように行を返します。

注釈

現時点では、 SIMULATED_DATA_SHARING_CONSUMER セッションパラメーターは、セキュアビューとセキュアマテリアライズドビューのみをサポートしており、セキュア UDFsはサポートしていません。

詳細については、 Secure Data Sharingの紹介 および 共有の操作 をご参照ください。

デフォルト

なし

重要

これはセッションパラメーターです。つまり、アカウントレベルで設定できます。ただし、共有ビューでのクエリのテストにのみ適用されます。このパラメーターはセッション内のすべてのクエリに影響するため、アカウントレベルで 設定しないでください

SSO_LOGIN_PAGE

アカウント --- アカウントにのみ設定可能

データ型

ブール値

説明

ユーザーにロールアウトする前に(フェデレーション認証を有効にした後) SSO をテストするためのプレビューモードを無効にします。

TRUE :プレビューモードは無効になり、Snowflakeのメインログインページに、Snowflakeで開始された SSO のボタンが、IDプロバイダー( SAML_IDENTITY_PROVIDER で指定)用に表示されます。

FALSE :プレビューモードが有効になっており、次の URL を使用して SSO をテストできます。

  • アカウントが US 西部にある場合: https://<アカウント名>.snowflakecomputing.com/console/login?fedpreview=true

  • アカウントがその他の地域にある場合: https://<アカウント名>.<地域ID>.snowflakecomputing.com/console/login?fedpreview=true

詳細については、 フェデレーション認証を使用するためのSnowflakeの構成 をご参照ください。

デフォルト

FALSE

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS

セッション および オブジェクト(ウェアハウス用)

アカウント » ユーザー » セッションで設定できます。個々のウェアハウスに設定することもできます

データ型

説明

SQL ステートメント(クエリ、 DDL、 DMLなど)がシステムによってキャンセルされるまでウェアハウスのキューに残っている時間です(秒単位)。このパラメーターを MAX_CONCURRENCY_LEVEL パラメーターと組み合わせて使用すると、ウェアハウスがバックログされないようにできます。

このパラメーターは、セッション階層内で設定できます。ウェアハウスに設定して、ウェアハウスで処理されるすべての SQL ステートメントのキュータイムアウトを制御することもできます。ウェアハウスとセッションの両方にパラメーターが設定されている場合、ゼロ以外の 最小 の値が適用されます。例:

  • ウェアハウスには、120秒のキュータイムアウトがあります。

  • セッションのキュータイムアウトは60秒に設定されます。

セッションタイムアウトが優先されます(つまり、セッションで送信されたステートメントは、60秒より長くキューに入れられた後にキャンセルされる)。

0 から任意の数(制限なし) --- 0 の値は、タイムアウトが適用されないことを指定します。キューが保持されている限り、ステートメントはキューに残ります。

デフォルト

0 (タイムアウトなし)

STATEMENT_TIMEOUT_IN_SECONDS

セッション および オブジェクト(ウェアハウス用)

アカウント » ユーザー » セッションで設定できます。個々のウェアハウスに設定することもできます

データ型

説明

実行中の SQL ステートメント(クエリ、 DDL、 DMLなど)がシステムによってキャンセルされるまでの時間です(秒単位)。

このパラメーターは、セッション階層内で設定できます。また、個々のウェアハウスに設定して、ウェアハウスによって処理されるすべての SQL ステートメントのランタイムを制御することもできます。ウェアハウスとセッションの両方にパラメーターが設定されている場合、ゼロ以外の 最小 の値が適用されます。例:

  • ウェアハウスのタイムアウトは1000秒です。

  • セッションのタイムアウトは500秒に設定されます。

セッションタイムアウトが優先されます(つまり、セッションで送信されたステートメントは、500秒より長く実行された後にキャンセルされる)。

0604800 (つまり、7日)--- 0 の値は、最大タイムアウト値が適用されることを指定します。

デフォルト

172800 (つまり、2日)

STRICT_JSON_OUTPUT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

このパラメーターは、セッション内の JSON 出力が一般標準(http://json.orgで説明)と互換性があるかどうかを指定します。

仕様により、Snowflakeは、非標準値を含む JSON 入力を許可します。ただし、これらの非標準値により、Snowflakeが他のプラットフォームや言語と互換性のない JSON を出力する可能性があります。このパラメーターを有効にすると、Snowflakeは有効/互換性のある JSON を出力します。

TRUE :厳密な JSON 出力が有効になり、次の動作が強制されます。

  • JSON NULL にマップされた入力の欠損値および未定義値。

  • 有効な JavaScript 表現を持つ文字列にマップされた入力の非有限数値(Infinity、-Infinity、 NaNなど)。これにより、 JavaScript との互換性が有効になり、これらの値を数値に戻すことができます。

FALSE :厳密な JSON 出力は有効になっていません。

デフォルト

FALSE

例:

非標準の JSON 入力

FALSE に設定されたパラメーター(デフォルト)

TRUE に設定されたパラメーター

[289, 2188,]

出力:

[ 289, 2188, undefined ]

[ 289, 2188, null ]

[undefined, undefined]

出力:

[ undefined, undefined ]

[ null, null ]

[Infinity,inf,-Infinity,-inf]

出力:

[ Infinity, Infinity, -Infinity, -Infinity ]

[ "Infinity", "Infinity", "-Infinity", "-Infinity" ]

[NaN,nan]

出力:

[ NaN, NaN ]

[ "NaN", "NaN" ]

TIMESTAMP_DAY_IS_ALWAYS_24H

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

DATEADD 関数(およびそのエイリアス)が、複数の日にまたがる式について、常に1日を正確に24時間と見なすかどうかを指定します。

TRUE :1日は常に24時間ちょうどです。

FALSE :1日は常に24時間とは限りません。

デフォルト

FALSE

重要

TRUE に設定すると、夏時間(DST)が有効な場合に、実際の時刻が 保存されない 可能性があります。例:

alter session set TIMESTAMP_DAY_IS_ALWAYS_24H = true;

-- With DST beginning on 2018-03-11 at 2 AM, America/Los_Angeles time zone
select dateadd(day, 1, '2018-03-10 09:00:00'::TIMESTAMP_LTZ), dateadd(day, 1, '2018-11-03 09:00:00'::TIMESTAMP_LTZ);

+-------------------------------------------------------+-------------------------------------------------------+
| DATEADD(DAY, 1, '2018-03-10 09:00:00'::TIMESTAMP_LTZ) | DATEADD(DAY, 1, '2018-11-03 09:00:00'::TIMESTAMP_LTZ) |
|-------------------------------------------------------+-------------------------------------------------------|
| 2018-03-11 10:00:00.000 -0700                         | 2018-11-04 08:00:00.000 -0800                         |
+-------------------------------------------------------+-------------------------------------------------------+

alter session set TIMESTAMP_DAY_IS_ALWAYS_24H = false;

select dateadd(day, 1, '2018-03-10 09:00:00'::TIMESTAMP_LTZ), dateadd(day, 1, '2018-11-03 09:00:00'::TIMESTAMP_LTZ);

+-------------------------------------------------------+-------------------------------------------------------+
| DATEADD(DAY, 1, '2018-03-10 09:00:00'::TIMESTAMP_LTZ) | DATEADD(DAY, 1, '2018-11-03 09:00:00'::TIMESTAMP_LTZ) |
|-------------------------------------------------------+-------------------------------------------------------|
| 2018-03-11 09:00:00.000 -0700                         | 2018-11-04 09:00:00.000 -0800                         |
+-------------------------------------------------------+-------------------------------------------------------+

TIMESTAMP_INPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP データ型エイリアスの入力形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされているタイムスタンプ形式または AUTO

AUTO は、セッション中にシステムに保存されているタイムスタンプ形式の自動検出をSnowflakeが試行することを指定します)

デフォルト

AUTO

TIMESTAMP_LTZ_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP_LTZ データ型の表示形式を指定します。形式が指定されていない場合、デフォルトは TIMESTAMP_OUTPUT_FORMAT です。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされているタイムスタンプ形式

デフォルト

なし

TIMESTAMP_NTZ_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP_NTZ データ型の表示形式を指定します。

有効なサポートされているタイムスタンプ形式

デフォルト

YYYY-MM-DD HH24:MI:SS.FF3

TIMESTAMP_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP データ型エイリアスの表示形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされているタイムスタンプ形式

デフォルト

YYYY-MM-DD HH24:MI:SS.FF3 TZHTZM

TIMESTAMP_TYPE_MAPPING

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP データ型エイリアスがマップする TIMESTAMP_*バリエーションを指定します。

TIMESTAMP_LTZTIMESTAMP_NTZ 、または TIMESTAMP_TZ

デフォルト

TIMESTAMP_NTZ

TIMESTAMP_TZ_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIMESTAMP_TZ データ型の表示形式を指定します。形式が指定されていない場合、デフォルトは TIMESTAMP_OUTPUT_FORMAT です。詳細については、 日付および時刻の入力/出力 をご参照ください。

有効なサポートされているタイムスタンプ形式

デフォルト

なし

TIMEZONE

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

説明

セッションのタイムゾーンを指定します。タイムゾーンのリストについては、 tzデータベースタイムゾーンのリスト (Wikipedia)をご参照ください。

標準の iana.orgタイムゾーン

America/Los_AngelesEurope/LondonUTCEtc/GMT など

デフォルト

America/Los_Angeles

注釈

タイムゾーン名は大文字と小文字が区別され、一重引用符で囲む 必要があります (例: 'UTC')。

また、 PDT などの特定のシンプルなタイムゾーンは、現在 サポートされていません

TIME_INPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIME データ型の入力形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

サポートされている有効な時刻形式または AUTO

AUTO は、セッション中にシステムに保存されている時刻形式の自動検出をSnowflakeが試行することを指定します)

デフォルト

AUTO

TIME_OUTPUT_FORMAT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

TIME データ型の表示形式を指定します。詳細については、 日付および時刻の入力/出力 をご参照ください。

サポートされている有効な時刻形式

デフォルト

HH24:MI:SS

TRANSACTION_ABORT_ON_ERROR

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

BOOLEAN

説明

非自動コミットトランザクション内で発行されたステートメントがエラーで戻ったときに、実行するアクションを指定します。

TRUE :非自動コミットトランザクションは中止されます。そのトランザクション内で発行されたすべてのステートメントは、そのトランザクションを閉じるためにコミットまたはロールバックステートメントが実行されるまで失敗します。

FALSE :非自動コミットトランザクションは中止されません。

デフォルト

FALSE

TRANSACTION_DEFAULT_ISOLATION_LEVEL

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列

説明

ユーザーセッションのトランザクションの分離レベルを指定します。

READ COMMITTED (現在サポートされている値のみ)

デフォルト

READ COMMITTED

TWO_DIGIT_CENTURY_START

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

説明

2桁の年の「世紀の開始」年(つまり、そのような日付が表すことができる最も早い年)を指定します。このパラメーターは、 YY 日付形式コンポーネント(つまり、2桁で表される年)を使用してデータをインポートまたは変換する時に、あいまいな日付を防ぎます。

19002100 (この範囲外の値はエラーを返します)

デフォルト

1970

例:

1900 に設定されたパラメーター

1970 に設定されたパラメーター(デフォルト)

1980 に設定されたパラメーター

1990 に設定されたパラメーター

2000 に設定されたパラメーター

00

次のようになります。

1900

2000

2000

2000

2000

79

次のようになります。

1979

1979

2079

2079

2079

89

次のようになります。

1989

1989

1989

2089

2089

99

次のようになります。

1999

1999

1999

1999

2099

UNSUPPORTED_DDL_ACTION

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

文字列(定数)

説明

制約プロパティに指定されたサポートされていない(つまり、デフォルトではない)値がエラーを返すかどうかを指定します。

IGNORE :Snowflakeは、サポートされていない値に対してエラーを返しません。

FAIL :Snowflakeは、サポートされていない値に対してエラーを返します。

デフォルト

IGNORE

重要

このパラメーターは、制約が作成されるかどうかを決定しません。Snowflakeは、このパラメーターの設定方法に関係なく、サポートされていない値を使用して制約を作成しません。

詳細については、 制約のプロパティ をご参照ください。

USE_CACHED_RESULT

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

ブール値

説明

一致するクエリが送信されたときに、キャッシュされたクエリ結果があれば、それを再利用するかどうかを指定します。

TRUE :クエリが送信されると、Snowflakeは以前に実行されたクエリと一致するクエリ結果をチェックし、一致する結果が存在する場合は、クエリを実行する代わりに結果を使用します。Snowflakeは結果をキャッシュから直接取得するため、これによりクエリ時間を短縮できます。

FALSE :Snowflakeは、一致するクエリ結果が存在するかどうかに関係なく、送信時に各クエリを実行します。

デフォルト

TRUE

WEEK_OF_YEAR_POLICY

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

説明

特定の年の週の計算方法を指定します。

0 :使用されるセマンティクスは ISO のセマンティクスと同等です。セマンティクスでは、その週の少なくとも4日がその年にある場合、その週は特定の年に属します。

1 :1月1日は年の最初の週に含まれ、12月31日は年の最後の週に含まれます。

デフォルト

0 (つまり、 ISO のような動作)

ちなみに

1 は、受け取ったフィードバックに基づく最も一般的な値です。例などの詳細については、 カレンダーの週と平日 をご参照ください。

WEEK_START

セッション --- アカウン ト » ユーザー » セッションで設定できます

データ型

説明

週の最初の曜日を指定します(週関連の日付関数で使用)。

0 :従来のSnowflakeの動作が使用されます(つまり、 ISO のようなセマンティクス)。

1 (月曜日)から 7 (日曜日):すべての週関連の関数は、指定された曜日から始まる週を使用します。

デフォルト

0 (つまり、従来のSnowflakeの動作)

ちなみに

1 は、受け取ったフィードバックに基づく最も一般的な値です。例などの詳細については、 カレンダーの週と平日 をご参照ください。