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.
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.
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:
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 Ressourcenkonfiguration oder der Hauptversion Ihrer Instanz erfordert eine Failover-Wartung. Siehe Wartungs-Failover von Snowflake Postgres für weitere Informationen.
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.
Wenn Sie für Ihre Instanz ein Wartungsfenster festgelegt haben, wird das Failover der Upgrade-Wartung im nächsten Fenster fortgesetzt, nachdem die Ersatzinstanz bereit ist. Wenn Sie für Ihre Instanz kein Wartungsfenster festgelegt haben, wird das Failover der Upgrade-Wartung fortgesetzt, sobald die Ersatzinstanz bereit ist.
Verwenden Sie den Befehl ALTER POSTGRES INSTANCE, um Änderungen an der Konfiguration einer Snowflake Postgres-Instanz vorzunehmen.
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:
Wenn Sie für Ihre Instanz ein Wartungsfenster festgelegt haben, wird das erforderliche Failover für die Wartung im nächsten Wartungsfenster fortgesetzt, nachdem die Ersatzinstanz bereit ist. Um stattdessen die Wartung fortzusetzen, sobald die Ersatzinstanz einsatzbereit ist, verwenden Sie APPLY IMMEDIATELY:
Alternativ können Sie auch eine APPLY ON ‚<timestamp>‘-Klausel verwenden, um ein zukünftiges Datum oder einen Zeitstempel bis zu drei Tage nach dem aktuellen Datum anzugeben, damit das Wartungs-Failover fortgesetzt wird.
Bemerkung
Wenn für Ihre Instanz kein Wartungsfenster festgelegt ist und Sie keine APPLY IMMEDIATELY- oder APPLY ON ‚timestamp‘-Klausel verwenden, wird das Wartungs-Failover so fortgesetzt, als wenn APPLY IMMEDIATELY verwendet wird.
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.
Wichtig
COMPUTE_FAMILY- und STORAGE_SIZE_GB-Änderungen, die an einer Primärinstanz vorgenommen werden, werden nicht auch auf bestehende Lesereplikate angewendet. Sie benötigen eigene Modify-Operationen.
COMPUTE_FAMILY- und STORAGE_SIZE_GB-Änderungen werden auch auf HA-Standbys angewendet, wenn HA für die angegebene Instanz aktiviert ist. HA-Standby-Instanzersetzungen für diese Operationen erfolgen immer, sobald ihre Ersatzinstanzen bereit sind, da keine Ausfallzeit für ihre Primärserver erforderlich ist.
Änderungen an der Postgres-Hauptversion einer Instanz funktionieren über eine Snowflake Postgres-Wartungs-Failover-Operation genauso wie bei anderen:ui:Modify-Operationen, aber es gibt einige wichtige Unterschiede, wobei HA- und Lesereplikat-Instanzen betroffen sind.
Operationen für Upgrades der Postgres-Hauptversion können nur auf Primärinstanzen angewendet werden. Wenn eine Primärinstanz einem Upgrade der Hauptversion unterzogen wird, wird das gleiche Upgrade auf alle vorhandenen Lesereplikat- und HA-Instanzen angewendet, indem Sie sie aus einem neuen Backup der primären Instanz neu erstellen, das nach dem Abschluss des Upgrades der primären Instanz erstellt wurde.
Das bedeutet, dass während der Zeit, die benötigt wird, um ein neues Post-Upgrade-Backup der primären Instanz auszuführen und eine neue HA-Instanz und/oder Lesereplikat-Instanzen aus diesem Backup zu erstellen, Folgendes gilt:
Die primäre Instanz hat keine gültige HA-Instanz.
Während sie zugänglich bleiben, haben Lesereplikate veraltete Daten, da sie erst dann vom Primärobjekt replizieren werden, wenn ihre Ersatzinstanzen bereit sind.
Weitere Informationen zu den Upgrade-Operationen der Postgres-Hauptversion finden Sie unter Postgres-Hauptversions-Upgrades.
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.
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.
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 anzuhalten, führen Sie den Befehl ALTER POSTGRES INSTANCE mit der Option SUSPEND aus. Beispiel:
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.
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 Resume aus.
Klicken Sie auf die Schaltfläche Resume, um die Aktion zu bestätigen.
Um eine Snowflake Postgres-Instanz fortzusetzen, führen Sie ALTER POSTGRES INSTANCE … RESUME aus:
ALTERPOSTGRES INSTANCE[IFEXISTS]<name>RESUME
Diese 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
Refresh ist eine Instanz-Wartungsoperation, die Ihre Instanz ersetzt, ohne dass Änderungen an den konfigurierten Ressourcen vorgenommen werden. Verwenden Sie diese, um sicherzustellen, dass Ihre Instanz über die aktuellen OS-Sicherheitspatches sowie die neueste Postgres-Nebenversion für die gegebene Hauptversion verfügt und mit den neuesten Snowflake Postgres-Features ordnungsgemäß funktioniert.
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 Refresh aus.
Wenn Sie möchten, dass das Failover der Aktualisierungswartung durchgeführt wird, sobald der Ersatzserver bereit ist, wählen Sie Bypass maintenance Window and apply immediately aus.
Klicken Sie auf die Schaltfläche Refresh, um die Aktion zu bestätigen.
Um eine Instanz Refresh über SQL auszuführen, verwenden Sie ALTER POSTGRES INSTANCE mit dem COMPUTE_FAMILY-Wert, der mit dem aktuellen Wert übereinstimmt. Wenn Sie z. B. eine STANDARD_M-Instanz namens myinstance haben, verwenden Sie diese, um eine Refresh-Wartung auszuführen, und lassen Sie die Failover-Operation der Wartung während des ersten Wartungsfensters durchführen, nachdem der Ersatzserver bereit ist:
Verwenden Sie diese, um das Refresh-Wartungsfailover auszuführen, sobald der Ersatzserver bereit ist, anstatt auf sein nächstes Wartungsfenster zu warten, wenn eins festgelegt ist:
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. Lesen Sie mehr über den Neustart von Diensten in Neustart der Snowflake Postgres-Wartung.
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.
Mit der Option POSTGRES_SETTINGS geben Sie eine JSON-formatierte 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 IMMEDIATELY in 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.
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 DESCRIBEPOSTGRESINSTANCE 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 Ready bis zu diesem Zeitpunkt beibehalten. Wenn er für den jetzigen Zeitpunkt geplant ist, wird der Vorgang fortgesetzt, sobald Ready erreicht ist. In Ausführung befindliche Instanzen haben normalerweise den Status Ready.
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