SHOW POSTGRES INSTANCES¶
アクセス権限のある:doc:`Snowflake Postgresインスタンス</user-guide/snowflake-postgres/about>`をリストします。
- こちらもご参照ください。
CREATE POSTGRES INSTANCE、 ALTER POSTGRES INSTANCE、 DESCRIBE POSTGRES INSTANCE、 DROP POSTGRES INSTANCE
構文¶
SHOW POSTGRES INSTANCES [ LIKE '<pattern>' ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
パラメーター¶
LIKE 'pattern'オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%および_)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...... LIKE '%TESTING%' .... デフォルト: 値なし(フィルタリングは出力に非適用)。
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'は結果を返します(入力文字列に一致する行がある場合)。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
|---|---|
|
Postgresインスタンスの名前。 |
|
Postgresインスタンスを所有するロール。 |
|
所有者ロールのタイプ(例:ROLEまたはDATABASE_ROLE)。 |
|
Postgresインスタンスが作成された日時。 |
|
Postgresインスタンスが最後に更新された日時。 |
|
Postgresインスタンスのタイプ。 |
|
Postgresインスタンスの基点(例:別のインスタンスからフォークされた場合)。 |
|
Postgresインスタンスへの接続に使用するホスト名。 |
|
インスタンスに対してPrivate Linkが構成されている場合は、Private Linkサービスの識別子。 |
|
Postgresインスタンスの:doc:`コンピュートファミリー</user-guide/snowflake-postgres/postgres-instance-sizes>`(インスタンスサイズ)。 |
|
インスタンスに使用される認証方法(現在は``POSTGRES``)。 |
|
Postgresインスタンスに割り当てられたストレージサイズ(GB)。 |
|
インスタンスで実行されているPostgresのメジャーバージョン。 |
|
インスタンスに構成されているカスタム:doc: |
|
インスタンスで:doc:`高可用性</user-guide/snowflake-postgres/high-availability>`が有効化されているかどうか。 |
|
インスタンスのデータ保持時間。 |
|
インスタンスの現在の:ref: |
|
Postgresインスタンスのコメント。 |
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
|---|---|---|
OPERATE または OWNERSHIP |
Postgresインスタンス |
これらの権限のいずれかを持つインスタンスだけが出力に表示されます。 |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。たとえば、パイプ演算子または RESULT_SCAN 関数を使用して、 SHOW コマンド出力から特定の列を選択したり、行をフィルター処理したりできます。
出力列を参照する場合は、列名に:ref:
二重引用符<label-delimited_identifier>`で囲まれた識別子を使用します。たとえば、出力列 ``type`を選択するには、SELECT "type"を指定します。SHOW コマンドの出力列名は小文字のため、二重引用符で囲まれた識別子を使用する必要があります。二重引用符により、 SELECT リストまたは WHERE 句内の列名が、スキャンされた SHOW コマンド出力内の列名と一致することが保証されます。
コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。
1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドを使用して、容量計画、トラブルシューティング、監査のためにPostgresインスタンスの状態と構成をモニターします。
一般的なユースケースとしては、運用中のインスタンス状態のチェック、アップグレードが必要なインスタンスの特定、アカウント全体のストレージ使用状況の確認などがあります。
例¶
アカウント内のすべてのPostgresインスタンスをリストします。
SHOW POSTGRES INSTANCES;
``prod``で始まる名前のPostgresインスタンスをリストします。
SHOW POSTGRES INSTANCES STARTS WITH 'PROD';
パターンに一致するPostgresインスタンスをリストします。
SHOW POSTGRES INSTANCES LIKE 'DEV_%';
:doc:`フロー演算子</sql-reference/operators-flow>`を使用して、特定の列をフィルターして選択します。
SHOW POSTGRES INSTANCES
->> SELECT "name", "state", "compute_family", "storage_size"
FROM $1
WHERE "state" = 'READY'
ORDER BY "name";
高可用性が有効になっているすべてのインスタンスを検索します。
SHOW POSTGRES INSTANCES
->> SELECT "name", "compute_family", "is_ha", "postgres_version"
FROM $1
WHERE "is_ha" = 'true';
すべてのインスタンスにおけるストレージ使用量の概要を取得します。
SHOW POSTGRES INSTANCES
->> SELECT "name", "storage_size", "created_on"
FROM $1
WHERE "storage_size" > 100
ORDER BY "storage_size" DESC;