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¶
You can fork an instance to create a new instance from an existing instance, optionally choosing a point in time to fork from. By default the new instance will be forked from the current state of the source instance. Read more about forking in 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.
Run the ALTER POSTGRES INSTANCE command to make changes to the configuration of a Snowflake Postgres instance.
Bemerkung
Die Änderungen an der Instanz werden als asynchroner Vorgang angewendet.
To check the status of the operation, run the DESCRIBE POSTGRES INSTANCE command.
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_nameSpecifies the network policy to use for the instance. Changes to the policy may take up to 2 minutes to take effect.
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'Specifies the changes to the Postgres settings for the instance. Specify the settings in a JSON-formatted string with the following structure:
'{"component:name" = "value", ...}'Changes to some of the Postgres settings may require an instance restart to take effect. These changes will not take effect unless you specify
APPLY IMMEDIATELYin the ALTER POSTGRES INSTANCE statement. For the list of settings that require a restart, consult the table in Postgres settings.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 IMMEDIATELYIf the cluster has a defined maintenance window,
APPLY IMMEDIATELYoverrides the maintenance window for all specified operations to be applied as soon as they are ready.APPLY IMMEDIATELYapplies only toCOMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSION, andPOSTGRES_SETTINGS. For all other options it is ignored.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 allows you to schedule your major version upgrades through the Dashboard. To make this change, you’ll use the same process as for an instance resize.
Tipp
Upgrading your instance to a new major version requires maintenance. See Wartung von Snowflake Postgres for general information about maintenance.
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
You can only upgrade to a newer major version. You can’t downgrade to a previous major version.
You can combine a major version upgrade with an instance resize by selecting a new instance size, storage size, or both along with the new version number.
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¶
When High Availability (HA) is enabled, your instance includes a standby host that replaces the primary if your primary becomes unavailable. You can read more about this in 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.
To suspend a Snowflake Postgres instance, run the ALTER POSTGRES INSTANCE command with the SUSPEND option. For example:
ALTER POSTGRES INSTANCE instance_that_definitely_exists SUSPEND; ALTER POSTGRES INSTANCE IF EXISTS instance_that_might_exist SUSPEND;
These operations are asynchronous. You can use the DESCRIBE POSTGRES INSTANCE command to track the status of these operations.
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.
To specify changes to the Postgres settings for the instance, run the ALTER POSTGRES INSTANCE command with the SET POSTGRES_SETTINGS option.
With the POSTGRES_SETTINGS option, you specify a JSON-formatted string with the following structure:
'{"component:name" = "value", ...}'
Changes to some of the Postgres settings may require an instance restart to take effect. These changes will not take effect unless you specify APPLY IMMEDIATELY in the ALTER POSTGRES INSTANCE statement. For the list of settings that require a restart, consult the table in Postgres settings.
**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.
Possible instance states are listed below. During an instance modification operation, the replacement instance goes through all of the states listed in the first table. A new instance being created goes through some but not all of the states listed. The following table lists some additional states you might see during normal operations.
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 |
New instance matches source instance and is ready for the operation to proceed. If scheduled
for an upcoming maintenance window, the instance is kept |
N/A |
N/A |
Other instance states that you might see on the platform:
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 |
