DROP POSTGRES INSTANCE

指定された:doc:`Snowflake Postgresインスタンス</user-guide/snowflake-postgres/about>`をアカウントから削除します。

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

CREATE POSTGRES INSTANCEALTER POSTGRES INSTANCEDESCRIBE POSTGRES INSTANCESHOW POSTGRES INSTANCES

構文

DROP POSTGRES INSTANCE [ IF EXISTS ] <name>
Copy

パラメーター

name

ドロップするPostgresインスタンスの識別子を指定します。

識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

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

アクセス制御の要件

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

権限

オブジェクト

メモ

OWNERSHIP

Postgresインスタンス

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

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

使用上の注意

  • 現時点で、ドロップされたPostgresインスタンスは復元できず、再作成する必要があります。ただし、インスタンスの:doc:`フォーク</user-guide/snowflake-postgres/postgres-point-in-time-recovery>`を作成してある場合、フォークは独立しており、影響を受けません。後でインスタンスを再作成しやすくするため、DESC POSTGRES INSTANCEを使用してドロップする前に各インスタンスの詳細を取得できます。

  • このコマンドが発行されると、SnowflakeはPostgresインスタンスを終了させ、関連付けられたコンピューティングリソースを解放します。インスタンスが完全に終了すると、コンピューティングリソースへの請求は停止します。

  • そのPostgresインスタンスに保存されていたすべてのデータが完全に削除されます。インスタンスを削除する前に、重要なデータがバックアップ済みであることを確認してください。

  • :doc:`高可用性</user-guide/snowflake-postgres/high-availability>`が有効になっているインスタンスでは、プライマリインスタンスと一緒にHAスタンバイもドロップされます。

  • :doc:`リードレプリカ</user-guide/snowflake-postgres/postgres-create-replica>`があるインスタンスでは、プライマリインスタンスがドロップされるとレプリカもドロップされます。

  • :doc:`フォークされたインスタンス</user-guide/snowflake-postgres/postgres-point-in-time-recovery>`は独立したコピーです。ソースインスタンスをドロップしても、そこからフォークされたインスタンスには影響しません。

  • IF EXISTS 句が指定されており、ターゲットオブジェクトが存在しない場合、コマンドはエラーを返さずに正常に完了します。

Postgresインスタンスをドロップします。

DROP POSTGRES INSTANCE my_postgres;
Copy

存在する場合にのみ、Postgresインスタンスをドロップします。

DROP POSTGRES INSTANCE IF EXISTS my_postgres;
Copy

:doc:`フロー演算子</sql-reference/operators-flow>`を使用してドロップするインスタンスを見つけます。

-- Find the oldest instance
-- Then use SET and IDENTIFIER() to drop it
SET oldest_instance = (
  SHOW POSTGRES INSTANCES
    ->> SELECT "name"
        FROM $1
        ORDER BY "created_on"
        LIMIT 1
);

DROP POSTGRES INSTANCE IDENTIFIER($oldest_instance);
Copy

ドロップする前に、ストレージのしきい値を下回るインスタンスを見つけます。

-- Identify small instances
SHOW POSTGRES INSTANCES
  ->> SELECT "name", "storage_size", "created_on"
      FROM $1
      WHERE "storage_size" < 50
      ORDER BY "storage_size";

DROP some_extremely_small_instance;
Copy

ドロップを試行する前に所有権を確認します。

SHOW GRANTS ON POSTGRES INSTANCE my_postgres;

-- Verify that you have OWNERSHIP privilege, then drop
DROP POSTGRES INSTANCE my_postgres;
Copy