Snowflake Postgres-Lesereplikate¶
Übersicht¶
Snowflake Postgres unterstützt das Erstellen von Replikaten. Replikate sind schreibgeschützte Kopien einer führenden Instanz, die kontinuierlich mit Änderungen von dieser Instanz synchronisiert werden. Diese Synchronisierung erfolgt automatisch und für den Benutzenden transparent.
Replikate sind nützlich für die Leseskalierung und das Auslagern bestimmter Workloads, die sich auf die Produktion auswirken könnten (z. B. Berichts-Workloads). Replikate müssen die gleiche Speichergröße wie ihre führende Instanz haben, können aber eine andere Computegröße haben.
Replikate werden im gleichen Netzwerk wie ihre Leader-Instanz bereitgestellt und erben daher alle Netzwerkregeln für eingehenden und ausgehenden Datenverkehr von ihrer Leader-Instanz.
Postgres-Anmeldeinformationen werden zusammen mit allen anderen Daten in Replikaten kopiert und mit der führenden Instanz synchronisiert.
Erstellen eines Leserreplikats¶
Wählen Sie im Navigationsmenü die Option Postgres aus.
Wählen Sie die Instanz aus, von der Sie ein Replikat erstellen möchten, um die zugehörige Detailseite zu laden.
Wählen Sie oben rechts auf der Detailseite im Menü Manage die Option
Create replicaaus.Wählen Sie die Optionen für die Konfiguration des neuen Replikats aus.
Wählen Sie Save aus, um das Replikat zu erstellen.
Um eine Postgres-Instanz als Replikat einer Ursprungsinstanz zu erstellen, geben Sie die Klausel AS REPLICA OF im Befehl CREATE POSTGRES INSTANCE an. Standardmäßig werden die Eigenschaften COMPUTE_FAMILY und POSTGRES_SETTINGS von der ursprünglichen Postgres-Instanz kopiert. Sie können diese Einstellungen überschreiben und auch die Eigenschaften COMMENT und TAG für die neue Instanz angeben.
Es wird eine Zeile mit den folgenden Spalten zurückgegeben:
statushost
CREATE REPLICA SQL-Beispiele
Erstellen Sie ein Replikat my_replica der Instanz my_origin_instance.
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance;
Erstellen Sie ein Replikat my_replica der Instanz my_origin_instance mit einer anderen Computefamilie.
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance
COMPUTE_FAMILY = STANDARD_M;
Wie lange die Erstellung eines Replikats benötigt, hängt von der Größe der ursprünglichen Instanz ab. Das Replikat zeigt bei der Erstellung den aktuellen Status an. Siehe die Liste der Instanzstatus, um Details zu den Status zu erhalten, die das Replikat beim Erstellen durchläuft.
Replikatverhalten und -einschränkungen¶
Standardmäßig können nur 10 Replikate Änderungen von einer führenden Instanz streamen. Damit zusätzliche Replikate streamen können, erhöhen Sie den Wert der Postgres-Einstellung
max_wal_senders(siehe Snowflake Postgres-Servereinstellungen).Führende Postgres-Instanzen können nicht gelöscht werden, solange sie Replikate haben. Alle Replikate müssen entfernt werden, bevor die führende Instanz gelöscht werden kann.
Postgres-Servereinstellungen, die auf eine führende Instanz angewendet werden, werden in alle Replikate kopiert.