DROP POSTGRES INSTANCE

Entfernt die angegebene :doc:` Snowflake Postgres-Instanz </user-guide/snowflake-postgres/about>` aus dem Konto.

Siehe auch:

CREATE POSTGRES INSTANCE , ALTER POSTGRES INSTANCE, DESCRIBE POSTGRES INSTANCE , SHOW POSTGRES INSTANCES

Syntax

DROP POSTGRES INSTANCE [ IF EXISTS ] <name>
Copy

Parameter

name

Gibt den Bezeichner für die zu löschende Postgres-Instanz an.

Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

OWNERSHIP

Postgres-Instanz

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Derzeit können gelöschte Postgres-Instanzen nicht wiederhergestellt werden. Sie müssen sie neu erstellen. Wenn Sie jedoch eine :doc:` Fork </user-guide/snowflake-postgres/postgres-point-in-time-recovery>` der Instanz erstellt haben, bleibt die Fork unabhängig und unberührt. Um das Neuerstellen von Instanzen später zu erleichtern, können Sie DESCPOSTGRESINSTANCE verwenden, um die Details einer Instanz zu erfassen, bevor sie gelöscht werden.

  • Wenn dieser Befehl ausgeführt wird, beendet Snowflake die Postgres-Instanz und gibt die zugehörigen Computeressourcen frei. Die Abrechnung der Computeressourcen wird nach vollständiger Beendigung der Instanz gestoppt.

  • Alle in der Postgres-Instanz gespeicherten Daten werden dauerhaft gelöscht. Stellen Sie sicher, dass Sie alle wichtigen Daten gesichert haben, bevor Sie die Instanz löschen.

  • Wenn für die Instanz :doc:` Hochverfügbarkeit </user-guide/snowflake-postgres/high-availability>` aktiviert ist, wird auch die HA-Standby-Instanz zusammen mit der primären Instanz gelöscht.

  • Wenn die Instanz über :doc:` Lesereplikate </user-guide/snowflake-postgres/postgres-create-replica>` verfügt, werden diese Replikate auch gelöscht, wenn die primäre Instanz gelöscht wird.

  • Geforkte Instanzen sind unabhängige Kopien. Das Löschen der Quellinstanz hat keine Auswirkungen auf Instanzen, die von dieser Instanz geforkt wurden.

  • Wenn die IF EXISTS-Klausel angegeben ist und das Zielobjekt nicht vorhanden ist, wird der Befehl erfolgreich abgeschlossen, ohne dass ein Fehler zurückgegeben wird.

Beispiele

Löschen einer Postgres-Instanz:

DROP POSTGRES INSTANCE my_postgres;
Copy

Löschen Sie eine Postgres-Instanz nur, wenn sie existiert:

DROP POSTGRES INSTANCE IF EXISTS my_postgres;
Copy

Verwenden Sie den Flow-Operator, um eine zu löschende Instanz zu finden:

-- 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

Ermitteln von Instanzen, die unter einem Speicherschwellenwert liegen, bevor sie gelöscht werden:

-- 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

Überprüfen der Eigentümerschaft vor dem Löschversuch:

SHOW GRANTS ON POSTGRES INSTANCE my_postgres;

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