SHOW STREAMS

アクセス権限があるストリームをリストします。このコマンドを使用して、現在の/指定されたデータベースまたはスキーマ、またはアカウント全体のストリームを一覧表示できます。

出力は、データベース、スキーマ、およびストリーム名によって辞書順に並べられたストリームメタデータとプロパティを返します(出力列の説明については、このトピックの 出力 を参照)。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。

こちらもご参照ください。

CREATE STREAMALTER STREAMDROP STREAMDESCRIBE STREAM

構文

SHOW [ TERSE ] STREAMS [ LIKE '<pattern>' ]
                       [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
                       [ STARTS WITH '<name_string>' ]
                       [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

TERSE

出力列のサブセットのみを返します。

  • created_on

  • name

  • kind (列のフルセットの type 列の名前を変更)

  • database_name

  • schema_name

  • tableOn (列のフルセットの table_name 列の名前を変更)

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

IN ACCOUNT | [ DATABASE ] db_name | [ SCHEMA ] schema_name | APPLICATION application_name | APPLICATION PACKAGE application_package_name

コマンドのスコープを指定します。これは、コマンドが現在/指定されたデータベースまたはスキーマのレコードのみを一覧表示するか、アカウント全体に表示するかを決定します。

APPLICATIONAPPLICATION PACKAGE キーワードは必須ではないが、 Snowflake Native App という名前のスコープを指定します。

DATABASE または SCHEMA キーワードは必須ではありません。データベースまたはスキーマ名のみを指定して、スコープを設定できます。同様に、セッションで現在使用中のデータベースがある場合、データベース名またはスキーマ名は必要ありません。

  • DATABASE または SCHEMA が名前なしで指定され、セッションで現在使用中のデータベースがない場合、パラメーターは出力に影響しません。

  • SCHEMA が名前で指定され、セッションで現在使用中のデータベースがない場合、スキーマ名はデータベース名で完全修飾する 必要があります (例: testdb.testschema)。

デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベース: DATABASE がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。

  • データベースなし: ACCOUNT はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

LIMIT rows [ FROM 'name_string' ]

オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

オプションの FROM 'name_string' サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。

  • 文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

  • 文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。

デフォルト:値なし(出力に制限は適用されない)

注釈

FROM 'name_string' 句と STARTS WITH 'name_string' 句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。

さらに、オブジェクトは名前の辞書式順序で返されるため、 FROM 'name_string' は、 STARTS WITH 'name_string' によって返される行よりも辞書式の値が大きい行のみを返します。

例:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' は結果を返しません。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' は結果を返しません。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' は結果を返します(入力文字列に一致する行がある場合)。

出力

コマンド出力により、次の列にストリームプロパティとメタデータが提供されます。

説明

created_on

ストリームが作成された日時。

name

ストリームの名前。

database_name

ストリームのスキーマのデータベース。

schema_name

ストリームのスキーマ。

owner

ストリームを所有するロール。

comment

ストリームのコメント。

table_name

DML の更新がストリームによって追跡されるテーブル。

source_type

ストリームのソースオブジェクト: テーブル、ビュー、ディレクトリテーブル、または外部テーブル。

base_tables

ビューの基になるテーブル。この列は、ビューのストリームにのみ適用されます。

type

ストリームのタイプ。現在 DELTA のみ。

stale

stale_after 時間より前に、ストリームの最終読み取りがあったかどうかを示します(以下を参照)。これが TRUE の場合は、ストリームが古くなっている可能性があります。ストリームが古くなっていると、読み取ることができません。ストリームを再作成して、ストリームからの読み取りを再開します。ストリームが古くなるのを防ぐには、 stale_after の前にストリームを消費します。

mode

ストリームが追加専用のストリームの場合は、 APPEND_ONLY が表示されます。. ストリームが挿入された行の情報のみを返す場合は、 INSERT_ONLY が表示されます。現在、外部テーブルのストリームにのみ適用されます。. テーブルのストリームの場合は、コラムに DEFAULT が表示されます。

stale_after

ストリームが古くなったとき、または消費されないと古くなる可能性があるときのタイムスタンプ。 . . 値は、ソーステーブルの保持期間(つまり、 DATA_RETENTION_TIME_IN_DAYS または MAX_DATA_EXTENSION_TIME_IN_DAYS パラメーター設定の大きい方)をストリームが最後に読み取られた時間に加算することによって計算されます。データ保持期間がスキーマまたはデータベースレベルに設定されている場合、現在のロールとアカウントには正確な stale_after タイムスタンプを得るために関連するオブジェクト(スキーマ、データベース、あるいは共有するテーブル/ビュー)へのアクセス権が必要です。. . この時間は、いくつかのケースで不正確になる可能性があります。. - ストリームが古くなることが 許可 されてから、基になるデータが実際にドロップされるまでに時間がかかる場合があります。この期間中、 stale_after は過去になりますが、ストリームからの読み取りは成功する可能性があります。この期間の長さは変更される可能性があるため、それに依存しないでください。. - テーブルの保持に影響するパラメーターを増やすと、すでに古くなっているストリームは古くなったままになりますが、 stale_after の時間は将来になる可能性があります。

invalid_reason

ストリームを正常にクエリできない理由。この列は、将来の機能をサポートします。現在、返される値は N/A のみです。

owner_role_type

オブジェクトを所有するロールのタイプ。例えば ROLE があります。. Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。. 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

ストリームに指定できるプロパティの詳細については、 CREATE STREAM をご参照ください。

使用上の注意

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているソースオブジェクト名のみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

  • LIMIT rows の値は 10000 を超えることはできません。LIMIT rows を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。

    1万件を超える記録が存在する結果を表示するには、 LIMIT rows を含めるか、 Snowflake Information Schema の対応するビューをクエリします。

tpch.public スキーマで表示する権限がある、名前が line で始まるすべてのストリームを表示します。

SHOW STREAMS LIKE 'line%' IN tpch.public;
Copy