Snowflake Postgres-Instanzverwaltung¶
Snowflake Postgres unterstützt Sie bei der Verwaltung Ihrer Instanzen durch eine Vielzahl von Vorgängen zur Instanzverwaltung. Diese Vorgänge sind Formen der Wartung, die dafür sorgen, dass Ihre Instanzen betriebsbereit und sicher sind.
Eine kurze Serviceunterbrechung ist erforderlich, um Vorgänge zur Instanzverwaltung auszuführen. Stellen Sie sicher, dass Ihre Anwendungen sich automatisch wieder mit der Datenbank verbinden können.
Bemerkung
Die Verbindungszeichenfolge einer Instanz bleibt über alle Instanzverwaltungsvorgänge hinweg gleich, es sei denn, Sie rotieren die Anmeldeinformationen explizit.
Falls es erforderlich ist, die Integrität Ihrer Instanz sicherzustellen, können wir Wartungsvorgänge in Ihrem Namen planen (um z. B. die Speichergröße der Instanz zu ändern).
Eine detaillierte Beschreibung, wie die Wartung von Instanzen von unserer Plattform ausgeführt wird, finden Sie unter Wartung von Snowflake Postgres.
Verfügbare Vorgänge¶
Die folgenden Vorgänge sind über das Dropdown-Menü Manage auf der Seite mit den Instanzdetails im Dashboard verfügbar:
Fork: Erstellt eine neue Instanz aus einer bestehenden Instanz
Modify: Ändert die Instanzgröße, die Speichergröße oder die Postgres-Version der Instanz
Enable High Availability: Aktiviert Hochverfügbarkeit für die Instanz
Create replica: Erstellt ein Replikat der Instanz
Instance Suspend and Resume: Fährt den Postgres-Server herunter, behält aber die Daten auf der Festplate bei
Restarting services: Startet entweder PostgreSQL oder den gesamten zugrunde liegenden Server neu
Regenerate credentials: Generiert die Anmeldeinformationen für die Instanz neu
Fork¶
Sie können eine Instanz forken, um eine neue Instanz aus einer bestehenden Instanz zu erstellen, und dabei optional einen Zeitpunkt für das Forken wählen. Standardmäßig wird für die neue Instanz der aktuelle Status der Quellinstanz verwendet. Weitere Informationen zum Forking finden Sie unter Zeitpunktbezogene Snowflake Postgres-Wiederherstellung.
Ändern¶
Um eine Änderung an einer bestehenden Snowflake Postgres-Instanz vorzunehmen, müssen Sie eine Rolle verwenden, der die Berechtigung OWNERSHIP oder OPERATE für diese Instanz zugewiesen wurde.
Sie können die Größe einer Instanz direkt mit minimalen Auswirkungen und ohne Änderungen an Ihrer Verbindungszeichenfolge ändern. Während der Größenänderung einer Instanz können Sie:
Ändern Sie COMPUTE_FAMILY in eine andere Größe.
Die Menge des Speicherplatzes ändern. Es werden sowohl Erhöhungen als auch Verringerungen der Speichergröße unterstützt.
Aktualisieren Sie die Postgres-Version auf eine neuere Hauptversion.
Das Ändern der Konfiguration Ihrer Instanz erfordert Wartung. Weitere Informationen dazu finden Sie unter Wartung von Snowflake Postgres.
So nehmen Sie eine Änderung vor:
Wählen Sie im Navigationsmenü die Option Postgres aus.
Wählen Sie Ihre -Instanz aus.
Wählen Sie im Menü Manage oben rechts die Option Modify aus.
Wählen Sie die neue COMPUTE_FAMILY und/oder die Speichergröße aus den Dropdown-Menüs aus. Weitere Informationen zum Ändern der Postgres-Version finden Sie unter Postgres-Upgrades auf eine Hauptversion.
Wählen Sie die Schaltfläche Save aus, um die Änderungen zu bestätigen.
Führen Sie den Befehl ALTER POSTGRES INSTANCE aus, um Änderungen an der Konfiguration einer Snowflake Postgres-Instanz vorzunehmen.
Bemerkung
Die Änderungen an der Instanz werden als asynchroner Vorgang angewendet.
Um den Status des Vorgangs zu überprüfen, führen Sie den Befehl DESCRIBE POSTGRES INSTANCE aus.
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SET [ NETWORK_POLICY = <policy_name> ] [ COMMENT = '<string_literal>' ] [ HIGH_AVAILABILITY = { TRUE | FALSE } ] [ COMPUTE_FAMILY = <compute_family> ] [ STORAGE_SIZE_GB = <storage_gb> ] [ POSTGRES_VERSION = { 16 | 17 } ]; [ MAINTENANCE_WINDOW_START = <hour_of_day> ] [ POSTGRES_SETTINGS = '<json_string>'] [ APPLY { IMMEDIATELY | ON '<timestamp>' } ] ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> UNSET { COMMENT | POSTGRES_SETTINGS | NETWORK_POLICY | MAINTENANCE_WINDOW_START } [ , ... ]
NETWORK_POLICY = policy_nameGibt die Netzwerkrichtlinie an, die für die Instanz verwendet werden soll. Es kann bis zu 2 Minuten dauern, bis die Änderungen an der Richtlinie wirksam werden.
Um diesen Parameter anzugeben, müssen Sie über die Berechtigung USAGE für das NETWORK_POLICY-Objekt verfügen.
HIGH_AVAILABILITY = { TRUE | FALSE }Aktiviert Snowflake Postgres-Hochverfügbarkeit für die Instanz. Wird als asynchroner Vorgang ausgeführt. DESCRIBE kann verwendet werden, um den Fortschritt im Vorgangsfeld zu verfolgen. Eine HA-Änderung kann nur initiiert werden, wenn sich die Instanz im Status READY befindet, und kann nicht initiiert werden, wenn gerade andere Vorgänge ausgeführt werden (einschließlich einer HA-Aktivierung/-Deaktivierung).
Standard:
FALSECOMPUTE_FAMILY = compute_family.STORAGE_SIZE_GB = storage_gb.POSTGRES_VERSION = 16 | 17
Diese Vorgänge werden zusammenfassend als „Upgrade“-Vorgänge bezeichnet und gemeinsam durchgeführt.
DESCRIBE POSTGRES INSTANCEkann verwendet werden, um den Fortschritt im Vorgangsfeld zu verfolgen.Eine Upgrade-Vorgang kann nur initiiert werden, wenn sich die Instanz im Status READY befindet, und kann nicht initiiert werden, wenn gerade andere Vorgänge ausgeführt werden.
Wenn eine Instanz ein definiertes Wartungsfenster hat, werden die Änderungen erst nach Ablauf Wartungsfenster-Zeitraums wirksam, es sei denn,
APPLY IMMEDIATELYwurde angegeben, um das Wartungsfenster zu überschreiben.POSTGRES_SETTINGS = 'json_string'Gibt die Änderungen an den Postgres-Einstellungen für die Instanz an. Geben Sie die Einstellungen in einer JSON-formatierten Zeichenfolge mit der folgenden Struktur an:
'{"component:name" = "value", ...}'Änderungen an einigen der Postgres-Einstellungen können einen Neustart der Instanz erfordern, um wirksam zu werden. Diese Änderungen werden nur wirksam, wenn Sie
APPLY IMMEDIATELYin der ALTER POSTGRES INSTANCE-Anweisung angeben. Eine Liste der Einstellungen, die einen Neustart erfordern, finden Sie in der Tabelle unter Postgres-Einstellungen.MAINTENANCE_WINDOW_START = hour_or_dayDie gewünschte Tageszeit, zu der ein Wartungsfenster möglicherweise beginnen kann. Dies sollte eine Ganzzahl von 0 bis 23 sein, die die Tageszeit darstellt, zu der die Wartung beginnen darf, wobei 0 für Mitternacht laut UTC steht. Die Wartungsfenster sind drei Stunden und beginnen ab der angegebenen Stunde. Wenn Sie ein bestehendes Wartungsfenster aufheben, werden alle laufenden Vorgänge angewendet, sobald sie abgeschlossen sind.
APPLY IMMEDIATELYWenn der Cluster ein definiertes Wartungsfenster hat, überschreibt
APPLY IMMEDIATELYdas Wartungsfenster für alle angegebenen Vorgänge, die angewendet werden sollen, sobald sie bereit sind.APPLY IMMEDIATELYgilt nur fürCOMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSION`und :samp:`POSTGRES_SETTINGS. Bei allen anderen Optionen wird sie ignoriert.APPLY ON 'timestamp'Wenn der Cluster ein definiertes Wartungsfenster hat, überschreibt
APPLY ONdas Wartungsfenster für alle angegebenen Vorgänge, die zum angegebenen Zeitstempel angewendet werden sollen.APPLY IMMEDIATELYdarf nicht mitPOSTGRES_SETTINGSangegeben werden. Der angegebene Zeitstempel darf nicht mehr als 72 Stunden in der Zukunft liegen und kann die folgenden Formate haben:
jjjj-MM-tt
jjjj-MM-tt HH:mm
jjjj-MM-tt HH:mm:ss
jjjj-MM-tt HH:mm zzz
Beispiele für das Ändern einer Postgres-Instanz
Ändern Sie die COMPUTE_FAMILY einer bestehenden Instanz in STANDARD_M und die Speichergröße in 100GB mit einem einzelnen Vorgang:
ALTER POSTGRES INSTANCE my_instance
SET COMPUTE_FAMILY = 'STANDARD_M'
STORAGE_SIZE_GB = 100;
Wenn Sie vorhaben, die Speichergröße Ihrer Instanz zu verringern, müssen Sie beachten, dass wir derzeit eine Größenänderung von größer oder gleich dem 1,4-fachen der aktuellen Festplattennutzung zulassen, um Alerts und eine sofortige Größenänderung zu reduzieren.
Postgres-Hauptversions-Upgrades¶
Snowflake Postgres ermöglicht es Ihnen, Ihre Hauptversions-Upgrades über das Dashboard zu planen. Um diese Änderung vorzunehmen, verwenden Sie den gleichen Prozess wie bei der Größenänderung einer Instanz. Das Aktualisieren Ihrer Instanz auf eine neue Hauptversion erfordert Wartung. Allgemeine Informationen zur Wartung finden Sie unter Wartung von Snowflake Postgres. Weiter unten finden Sie spezifischere Informationen zu Upgrades der Hauptversion.
Um ein Upgrade der Hauptversion zu initiieren, müssen Sie eine Rolle verwenden, der die Berechtigung OWNERSHIP oder OPERATE für die Instanz zugewiesen wurde.
Bemerkung
Sie können nur ein Upgrade auf eine neuere Hauptversion durchführen – Sie können kein Downgrade auf eine frühere Hauptversion durchführen.
Bemerkung
Sie können ein Upgrade der Hauptversion mit einer Größenänderung der Instanz kombinieren, indem Sie gleichzeitig eine neue Instanzgröße und/oder Speichergröße auswählen.
Wählen Sie im Navigationsmenü die Option Postgres aus.
Wählen Sie Ihre Snowflake Postgres-Instanz aus.
Wählen Sie im Menü Manage oben rechts die Option Modify aus.
Wenn eine neuere Version verfügbar ist, können Sie diese aus dem Dropdown-Menü für die Postgres-Version auswählen.
Wählen Sie die Schaltfläche Save aus, um die Änderungen zu bestätigen.
Sie können ein Upgrade der Hauptversion mit dem Befehl ALTER POSTGRES INSTANCE initiieren, indem Sie den Parameter POSTGRES_VERSION auf die gewünschte Version festlegen.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_VERSION = { 16 | 17 }
POSTGRES_VERSION = { 16 | 17 }Die gewünschte Postgres-Version, auf die aktualisiert werden soll.
Beispiel: Aktualisieren einer bestehende Instanz auf PostgreSQL 17
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17;
Beispiel: Kombinieren eines Hauptversions-Upgrades mit einer Erhöhung der Speichergröße
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17
STORAGE_SIZE_GB = 100;
Postgres-Hauptversions-Upgrades funktionieren anders als andere Vorgänge der Instanzverwaltung. Sobald Sie den Prozess gestartet haben, führt Snowflake Postgres die folgenden Schritte aus:
Erstellen Sie ein „verstecktes“ (für Benutzer nicht sichtbares) Replikat Ihrer aktuellen Instanz.
Migrieren Sie vorhandene Daten aus der Quellinstanz in das versteckte Replikat (die Dauer ist relativ zur Datengröße).
Wenn Ihr Wartungsfenster erreicht wird:
Sperren Sie die Quellinstanz, um Schreibvorgänge zu verhindern.
Aktualisieren Sie das versteckte Replikat (die Dauer hängt von der Anzahl der Objekte in Ihrer Datenbank ab, nicht von der Datengröße).
Sobald das Upgrade abgeschlossen ist, führen Sie das Failover zur neu aktualisierten Instanz aus.
Wichtige Hinweise:
Änderungen der Hauptversion können sich auf die Anwendungskompatibilität auswirken. Wir empfehlen, Ihre Anwendung für die neue PostgreSQL-Version zu testen, bevor Sie ein Upgrade durchführen.
Lesereplikate werden automatisch aktualisiert, wenn ein Hauptversions-Upgrade durchgeführt wird, aber nur, wenn die Primärversion aktualisiert wurde und ein neues Backup erstellt wird. Bis dahin bleiben die Replikate verfügbar, allerdings in einem veralteten Zustand.
Wenn Sie kein Wartungsfenster festgelegt und keine Laufzeit angegeben haben, beginnt das Upgrade, sobald die neue Instanz gefüllt und einsatzbereit ist.
Dieser Vorgang führt zu einer Serviceunterbrechung, die nicht länger als einige Minuten dauern sollte.
Wenn ein Upgrade fehlschlägt, wird Ihre Instanz automatisch auf die ursprüngliche Instanz zurückgesetzt.
Aktivieren der Hochverfügbarkeit¶
Wenn Hochverfügbarkeit (High Availability, HA) aktiviert ist, umfasst Ihre Instanz einen Standby-Host, der den primären Host ersetzt, falls der primäre Host nicht mehr verfügbar ist. Mehr dazu erfahren Sie unter Snowflake Postgres-Hochverfügbarkeit.
Replikat erstellen¶
Sie können über das Dashboard ein Replikat Ihrer Instanz erstellen. Ein Replikat ist eine schreibgeschützte Kopie der Quellinstanz, die mit der Quellinstanz synchronisiert wird. Weitere Informationen zum Erstellen und Verwenden von Replikaten finden Sie unter Snowflake Postgres-Lesereplikate.
Instanz aussetzen und fortsetzen¶
Durch das Aussetzen einer Instanz wird die virtuelle Maschine deaktiviert, auf der sie läuft, während das Festplattenimage im Speicher bleibt, sodass die Instanz fortgesetzt werden kann. Die normale Abrechnung für die Instanz wird ausgesetzt, aber es fallen weiterhin Speicherkosten an. Die vorhandenen Backups der letzten 10 Tage werden ebenfalls beibehalten.
Wenn es Vorgänge gab, deren Neustart ausstehend war, werden diese beim Fortsetzen der Instanz angewendet.
Um eine Snowflake Postgres-Instanz auszusetzen oder wieder aufzunehmen, müssen Sie eine Rolle verwenden, der die Berechtigung OWNERSHIP oder OPERATE für diese Instanz zugewiesen wurde.
Snowflake Postgres ermöglicht es Ihnen, Ihre Instanz vom Dashboard aus auszusetzen.
Wählen Sie im Navigationsmenü die Option Postgres aus.
Wählen Sie Ihre -Instanz aus.
Wählen Sie im Menü Manage oben rechts die Option Suspend aus.
Klicken Sie auf die Schaltfläche Suspend, um die Aktion zu bestätigen.
Um eine Snowflake Postgres-Instanz auszusetzen, führen Sie ALTER POSTGRES INSTANCE … SUSPEND aus:
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SUSPEND
Diese Vorgänge sind asynchron. Der Befehl DESCRIBE kann verwendet werden, um den Status dieser Vorgänge zu verfolgen.
Beispiel: Aussetzen einer Snowflake Postgres-Instanz namens **my_instance
ALTER POSTGRES INSTANCE my_instance SUSPEND;
Sie können eine ausgesetzte Instanz jederzeit fortsetzen. Die Zeit, die für das Fortsetzen einer Instanz benötigt wird, hängt von der Instanz und der Größe des Datasets ab. Wenn Sie eine Instanz fortsetzen, werden auch die normale Abrechnung und die Backups wieder aufgenommen.
Um eine Snowflake Postgres-Instanz fortzusetzen, führen Sie ALTER POSTGRES INSTANCE … RESUME aus:
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> RESUMEDiese Vorgänge sind asynchron. Der Befehl DESCRIBE kann verwendet werden, um den Status dieser Vorgänge zu verfolgen.
Beispiel: Fortsetzen einer Snowflake Postgres-Instanz namens **my_instance
ALTER POSTGRES INSTANCE my_instance RESUME;
Starten von Services¶
Sie können entwederPostgreSQL oder den zugrunde liegenden Server, der Ihre Postgres-Instanz ausführt, neu starten, falls erforderlich. Diese Art von Instanzverwaltungsvorgang startet den Server an Ort und Stelle neu, ohne ein Replikat zu erstellen oder ein Failover durchzuführen. Erfahren Sie mehr über den Neustart von Services unter Wartung von Snowflake Postgres.
Anmeldeinformationen neu generieren¶
Durch das Neugenerieren von Anmeldeinformationen wird eine neue Verbindungszeichenfolge für Ihre Datenbankinstanz zurückgegeben, die die vorhandenen Anmeldeinformationen ersetzt. Erfahren Sie mehr über dieses Thema unter Snowflake Postgres-Rollen.
Benutzerdefinierte Parameter für die Konfiguration¶
Sie können an vielen der eigenen Servereinstellungen von Postgres für Ihre Snowflake Postgres-Instanzen Änderungen vornehmen. Die Liste der verfügbaren Konfigurationsparameter finden Sie unter Snowflake Postgres-Servereinstellungen.
Um die Postgres-Einstellungen für eine Snowflake-Postgres-Instanz zu ändern, müssen Sie eine Rolle verwenden, der die Berechtigung OWNERSHIP oder OPERATE für diese Instanz zugewiesen wurde.
So nehmen Sie eine Änderung vor:
Wählen Sie im Navigationsmenü die Option Postgres aus.
Instanz auswählen
Wählen Sie auf der rechten Seite der Seite neben Custom parameters das Bearbeitungssymbol aus.
Wählen Sie in der Liste Konfigurationsparameter aus, oder verwenden Sie das Suchfeld, um bestimmte Parameter zu finden.
Geben Sie den neuen Wert für den Konfigurationsparameter ein.
Wenn Sie mit dem Hinzufügen neuer Werte für Parameter fertig sind, klicken Sie auf Continue to review`und dann auf :ui:`Submit, um die Änderungen zu bestätigen.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_SETTINGS = '{JSON_string}'
[ APPLY IMMEDIATELY ];
POSTGRES_SETTINGS = 'json_string'Gibt die Änderungen an den Postgres-Einstellungen für die Instanz an. Geben Sie die Einstellungen in einer JSON-formatierten Zeichenfolge mit der folgenden Struktur an:
'{"component:name" = "value", ...}'Änderungen an einigen der Postgres-Einstellungen können einen Neustart der Instanz erfordern, um wirksam zu werden. Diese Änderungen werden nur wirksam, wenn Sie
APPLY IMMEDIATELYin der ALTER POSTGRES INSTANCE-Anweisung angeben. Eine Liste der Einstellungen, die einen Neustart erfordern, finden Sie in der Tabelle unter Postgres-Einstellungen.
**Beispiel: Legen Sie den Konfigurationsparameter „work_mem“ für eine Snowflake Postgres-Instanz namens „my_instance“ auf 128MB fest.
ALTER POSTGRES INSTANCE my_instance SET POSTGRES_SETTINGS = ( 'work_mem' = '128MB' );
Instanzstatus¶
Jeder Vorgang zur Instanzverwaltung, egal ob eine neue Instanz erstellt oder eine bestehende Instanz geändert wird, nimmt einige Zeit in Anspruch. Die genaue Dauer hängt von vielen Faktoren ab, darunter Ihre Daten- und Schemagrößen sowie die Auslastung Ihrer -Instanz. Der Status einer Instanz gibt Ihnen Aufschluss über den Fortschritt eines laufenden Vorgangs. Dies wird im Dashboard angezeigt, oder Sie können es überprüfen, indem Sie den Befehl DESCRIBE POSTGRES INSTANCE ausführen.
Mögliche Instanzstatus sind unten aufgeführt. Während eines Instanzänderungsvorgangs durchläuft die Ersatzinstanz alle in der ersten Tabelle aufgeführten Status. Eine neue Instanz, die erstellt wird, durchläuft einige, aber nicht alle aufgeführten Status. In der folgenden Tabelle sind einige zusätzliche Status aufgeführt, die während des normalen Betriebs angezeigt werden können.
Status, die beim Erstellen, Ändern und Abspalten angezeigt werden:
Status |
Was passiert |
Typische Dauer |
Nächster Status |
|---|---|---|---|
Creating |
Ein neuer zugrunde liegender Server wird erstellt |
1–2 Minuten |
Wiederherstellen |
Restoring |
Das letzte Basis-Backup wird auf dem Server wiederhergestellt |
Variable |
Starten |
Starting |
Postgres wird auf der Instanz und der WAL gestartet, die während des Basis-Backup erfasst wurde. |
Variable |
Wiederholung |
Replaying |
Die seit dem letzten Basis-Backup erfasste WAL wird wiederholt. |
Variable |
Abschließen |
Finalizing |
Die Konfiguration der Instanz wird abgeschlossen und der Server wird zur Verfügung gestellt |
1–2 Minuten |
Bereit |
Ready |
Die neue Instanz entspricht der Quellinstanz und ist bereit, den Vorgang fortzusetzen. Falls die Instanz für ein bevorstehendes Wartungsfenster geplant ist, wird |
N/A |
N/A |
Andere Instanzstatus, die Sie möglicherweise auf der Plattform sehen:
Status |
Was passiert |
Typische Dauer |
Nächster Status |
|---|---|---|---|
Restarting |
Der zugrunde liegende -Server wird neu gestartet |
1–2 Minuten |
Bereit |
Resuming |
Ein neuer Server wird erstellt und eine angehaltene Instanz wird fortgesetzt |
3–5 Minuten |
Bereit |
Suspending |
Instanz wird ausgesetzt |
3–5 Minuten |
Ausgesetzt |
Suspended |
Instanz ist derzeit ausgesetzt |
Bis fortgesetzt |
Fortsetzen |
