カテゴリ:

システム関数 (システム情報)

SYSTEM$LIST_NAMESPACES_FROM_CATALOG

リモート Apache Iceberg™ REST カタログ内の名前空間を一覧表示します(Snowflakeオープンカタログ を含む)。

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

構文

SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
  [ , '<parent_namespace>', <levels> ] )
Copy

引数

必須:

catalog_integration_name

Iceberg REST または Snowflakeオープンカタログ のカタログ統合のための識別子。

オプション:

parent_namespace

名前空間の一覧表示を開始する名前空間の識別子。カタログ内の0番目の名前空間レベルの結果を取得するには、空の文字列('')を指定します。

デフォルト:カタログ統合のデフォルト名前空間(CATALOG_NAMESPACE)。

levels

子名前空間を一覧表示するために名前空間階層を移動するレベルの数を指定します。

例:

  • 0に設定された場合、この関数は parent_namespace に対してすべての名前空間を再帰的に返します。

  • 1に設定された場合、この関数は parent_namespace の1つ下のレベルにあるすべての名前空間を返します。

  • n に設定された場合、この関数は parent_namespace に対して n レベルの深さまでの名前空間を返します。

デフォルト: 1

戻り値

指定された親名前空間とレベル数のIceberg REST カタログの名前空間を一覧表示する JSON フォーマットの文字列を返します。

JSON フォーマットの文字列の構造は次のとおりです。

[
  "<namespace_identifier>",
  "<namespace_identifier_n>"
]
Copy

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

USAGE

統合(カタログ)

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

カタログ統合のデフォルトの名前空間の直下にある名前空間のみを一覧表示します。

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');
Copy

カタログ内のすべての名前空間を再帰的に一覧表示します。

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);
Copy

「db1」名前空間の1つ下のレベル(直下)にある名前空間のみを一覧表示します。

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');
Copy

「db1」名前空間の3つ下のレベルにある名前空間を一覧表示します。

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1', 3);
Copy