Beschränkungen in Azure Database for PostgreSQL – Flexible Server
GILT FÜR: Azure Database for PostgreSQL – Flexibler Server
In den folgenden Abschnitten werden die Kapazitätsgrenzwerte und die funktionalen Grenzwerte in Azure Database for PostgreSQL Flexible Server beschrieben. Informationen zu den Tarifen für Ressourcen (Compute, Arbeitsspeicher, Speicher) finden Sie in den Artikeln Compute und Speicher.
Maximale Anzahl der Verbindungen
In der folgenden Tabelle finden Sie den Standardwert für die maximale Anzahl von Verbindungen für jede Tarif- und vCore-Konfiguration. Azure Database for PostgreSQL – Flexible Server reserviert 15 Verbindungen für die physische Replikation und Überwachung der Instanz von Azure Database for PostgreSQL – Flexible Server. Folglich wird der Wert für maximale Benutzerverbindungen, die in der Tabelle aufgeführt sind, um 15 von der Gesamtanzahl der maximalen Verbindungen reduziert.
Produktname | V-Kerne | Arbeitsspeichergröße | Maximale Anzahl der Verbindungen | Maximale Anzahl von Benutzerverbindungen |
---|---|---|---|---|
Burstfähig | ||||
B1ms | 1 | 2 GiB | 50 | 35 |
B2s | 2 | 4 GiB | 429 | 414 |
B2ms | 2 | 8 GiB | 859 | 844 |
B4ms | 4 | 16 GiB | 1.718 | 1.703 |
B8ms | 8 | 32GiB | 3\.437 | 3.422 |
B12ms | 12 | 48 GiB | 5,000 | 4.985 |
B16ms | 16 | 64GiB | 5,000 | 4.985 |
B20ms | 20 | 80 GiB | 5,000 | 4.985 |
Allgemeiner Zweck | ||||
D2s_v3 / D2ds_v4 / D2ds_v5 / D2ads_v5 | 2 | 8 GiB | 859 | 844 |
D4s_v3 / D4ds_v4 / D4ds_v5 / D4ads_v5 | 4 | 16 GiB | 1.718 | 1.703 |
D8s_v3 / D8ds_V4 / D8ds_v5 / D8ads_v5 | 8 | 32GiB | 3\.437 | 3.422 |
D16s_v3 / D16ds_v4 / D16ds_v5 / D16ads_v5 | 16 | 64GiB | 5,000 | 4.985 |
D32s_v3 / D32ds_v4 / D32ds_v5 / D32ads_v5 | 32 | 128 GB | 5,000 | 4.985 |
D48s_v3 / D48ds_v4 / D48ds_v5 / D48ads_v5 | 48 | 192 GiB | 5,000 | 4.985 |
D64s_v3 / D64ds_v4 / D64ds_v5 / D64ads_v5 | 64 | 256 GiB | 5,000 | 4.985 |
D96ds_v5 / D96ads_v5 | 96 | 384 GiB | 5,000 | 4.985 |
Arbeitsspeicheroptimiert | ||||
E2s_v3 / E2ds_v4 / E2ds_v5 / E2ads_v5 | 2 | 16 GiB | 1.718 | 1.703 |
E4s_v3 / E4ds_v4 / E4ds_v5 / E4ads_v5 | 4 | 32GiB | 3\.437 | 3.422 |
E8s_v3 / E8ds_v4 / E8ds_v5 / E8ads_v5 | 8 | 64GiB | 5,000 | 4.985 |
E16s_v3 / E16ds_v4 / E16ds_v5 / E16ads_v5 | 16 | 128 GB | 5,000 | 4.985 |
E20ds_v4 / E20ds_v5 / E20ads_v5 | 20 | 160 GiB | 5,000 | 4.985 |
E32s_v3 / E32ds_v4 / E32ds_v5 / E32ads_v5 | 32 | 256 GiB | 5,000 | 4.985 |
E48s_v3 / E48ds_v4 / E48ds_v5 / E48ads_v5 | 48 | 384 GiB | 5,000 | 4.985 |
E64s_v3 / E64ds_v4 / E64ds_v5 / E64ads_v5 | 64 | 432 GiB | 5,000 | 4.985 |
E96ds_v5 / E96ads_v5 | 96 | 672 GiB | 5,000 | 4.985 |
Die Anzahl der reservierten Verbindungssteckplätze, die derzeit bei 15 liegt, könnte sich ändern. Deshalb wird empfohlen, die Gesamtzahl der reservierten Verbindungen auf dem Server regelmäßig zu überprüfen. Sie berechnen diese Zahl, indem Sie die Werte der Serverparameter reserved_connections
und superuser_reserved_connections
addieren. Die maximale Anzahl verfügbarer Benutzerverbindungen lautet max_connections
- (reserved_connections
+ superuser_reserved_connections
).
Der Standardwert für den Serverparameter max_connections
wird berechnet, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server basierend auf dem Produktnamen bereitstellen, den Sie für die Berechnung auswählen. Alle nachfolgenden Änderungen der Produktauswahl an der Berechnung, die den flexiblen Server unterstützt, haben keine Auswirkungen auf den Standardwert für den Serverparameter max_connections
dieser Instanz. Es wird empfohlen, dass Sie bei jeder Änderung des Produkts, das einer Instanz zugewiesen ist, auch den Wert für den max_connections
-Parameter entsprechend den Werten in der vorherigen Tabelle anpassen.
Ändern des max_connections-Werts
Wenn Sie Ihre Instanz von Azure Database for Postgres – Flexible Server zum ersten Mal einrichten, bestimmt diese automatisch die höchste Anzahl von Verbindungen, die sie gleichzeitig verarbeiten kann. Diese Anzahl basiert auf der Konfiguration Ihres Servers und kann nicht geändert werden.
Sie können die max_connections
-Einstellung jedoch verwenden, um anzupassen, wie viele Verbindungen zu einem bestimmten Zeitpunkt zulässig sind. Sie müssen nach dem Ändern dieser Einstellung den Server neu starten, damit der neue Grenzwert funktioniert.
Achtung
Obwohl es möglich ist, den Wert von max_connections
über die Standardeinstellung hinaus zu erhöhen, raten wir davon ab.
Bei Instanzen können Schwierigkeiten auftreten, wenn die Workload erweitert wird und mehr Arbeitsspeicher erfordert. Mit zunehmender Anzahl von Verbindungen steigt auch die Arbeitsspeicherauslastung. Bei Instanzen mit begrenztem Arbeitsspeicher können Probleme auftreten, z. B. Abstürze oder hohe Latenz. Obwohl ein höherer Wert für max_connections
zulässig wäre, wenn sich die meisten Verbindungen im Leerlauf befinden, kann das zu erheblichen Leistungsproblemen führen, sobald die Verbindungen aktiv werden.
Wenn Sie weitere Verbindungen benötigen, empfehlen wir Ihnen stattdessen die Verwendung von PgBouncer, der integrierten Azure-Lösung für die Verwaltung von Verbindungspools. Verwenden Sie es im Transaktionsmodus. Zu Beginn wird empfohlen, dass Sie konservative Werte verwenden, indem die virtuellen Kerne im Bereich von 2 bis 5 multipliziert werden. Überwachen Sie anschließend die Ressourcenauslastung und die Anwendungsleistung sorgfältig, um einen reibungslosen Betrieb sicherzustellen. Ausführliche Informationen zu PgBouncer finden Sie unter PgBouncer in Azure Database for PostgreSQL – Flexible Server.
Wenn Verbindungen den Grenzwert übersteigen, erhalten Sie möglicherweise den folgenden Fehler:
FATAL: sorry, too many clients already.
Wenn Sie Azure Database for PostgreSQL – Flexible Server für eine ausgelastete Datenbank mit einer großen Anzahl gleichzeitiger Verbindungen verwenden, kann es zu einer erheblichen Belastung der Ressourcen kommen. Diese Belastung kann zu einer hohen CPU-Auslastung führen, insbesondere wenn viele Verbindungen gleichzeitig hergestellt werden und Verbindungen eine kurze Dauer haben (weniger als 60 Sekunden). Diese Faktoren können sich negativ auf die Gesamtleistung der Datenbank auswirken, da sie den Zeitaufwand für die Verarbeitung von Verbindungen und Trennungen erhöhen.
Achten Sie darauf, dass jede Verbindung in Azure Database for PostgreSQL – Flexible Server unabhängig davon, ob sie sich im Leerlauf befindet oder aktiv ist, eine erhebliche Menge von Ressourcen aus Ihrer Datenbank verbraucht. Dieser Verbrauch kann zu Leistungsproblemen führen, die über eine hohe CPU-Auslastung hinausgehen, z. B. Datenträger- und Sperrkonflikt. Im Artikel Anzahl der Datenbankverbindungen im PostgreSQL-Wiki wird dieses Thema ausführlicher erläutert. Weitere Informationen finden Sie unter Identifizieren und Behandeln der Verbindungsleistung in Azure Database for PostgreSQL – Flexible Server.
Funktionale Beschränkungen
In den folgenden Abschnitten werden Überlegungen zu dem aufgeführt, was in Azure Database for PostgreSQL – Flexible Server nicht unterstützt wird.
Skalierungsvorgänge
- Zu diesem Zeitpunkt ist zum Hochskalieren des Serverspeichers ein Neustart des Servers erforderlich.
- Serverspeicher kann nur in Verdopplungsschritten skaliert werden. Weitere Informationen finden Sie unter Speicher.
- Die Verringerung der Größe des Serverspeichers wird zurzeit nicht unterstützt. Die einzige Möglichkeit besteht in der Sicherung und Wiederherstellung in einer neuen Instanz von Azure Database for PostgreSQL Flexible Server.
Storage
- Nachdem Sie die Speichergröße konfiguriert haben, können Sie sie nicht reduzieren. Sie müssen einen neuen Server mit der gewünschten Speichergröße erstellen und einen manuellen Sicherungs- und Wiederherstellungsvorgang zum Migrieren Ihrer Datenbanken zum neuen Server durchführen.
- Wenn die Speichernutzung 95 % erreicht oder die verfügbare Kapazität weniger als 5 GiB beträgt, wird der Server automatisch in den schreibgeschützten Modus umgeschaltet, um Fehler im Zusammenhang mit vollen Datenträgern zu vermeiden (je nachdem, welcher Wert höher ist). Wenn die Datenwachstumsrate in seltenen Fällen den Zeitaufwand für den Wechsel in den schreibgeschützten Modus übersteigt, verfügt der Server möglicherweise weiterhin nicht über genügend Speicher. Sie können die automatische Vergrößerung des Speichers aktivieren, um diese Probleme zu vermeiden und Ihren Speicher basierend auf Ihren Workloadanforderungen automatisch zu skalieren.
- Es wird empfohlen, Warnungsregeln für
storage used
oderstorage percent
festzulegen, wenn diese bestimmte Schwellenwerte überschreiten, damit Sie proaktiv Maßnahmen ergreifen können, z. B. eine Erhöhung der Speichergröße. Beispiel: Sie können eine Warnung festlegen, wenn der Speicherprozentsatz eine Nutzung von 80 % übersteigt. - Wenn Sie die logische Replikation verwenden, müssen Sie den logischen Replikations-Slot auf dem primären Server löschen, wenn der entsprechende Abonnent nicht mehr vorhanden ist. Andernfalls sammeln sich die WAL-Dateien (Write-Ahead Logging) im primären und füllen den Speicher aus. Wenn der Speicher einen bestimmten Schwellenwert übersteigt und der logische Replikationssteckplatz (aufgrund eines nicht verfügbaren Abonnentens) nicht verwendet wird, verwirft Azure Database for PostgreSQL – Flexible Server diesen nicht verwendeten logischen Replikationssteckplatz automatisch. Diese Aktion gibt gesammelte WAL-Dateien frei und verhindert, dass Ihr Server nicht verfügbar wird, da der Speicher voll ist.
- Die Erstellung von Tabellenbereichen wird nicht unterstützt. Wenn Sie eine Datenbank erstellen, geben Sie keinen Tabellenbereichsnamen an. Azure Database for PostgreSQL – Flexible Server verwendet den Standardserver, der von der Vorlagendatenbank geerbt wird. Es ist nicht sicher, einen Tabellenbereich wie den temporären bereitzustellen, da wir nicht sicherstellen können, dass solche Objekte nach Ereignissen wie Serverneustarts, Hochverfügbarkeitsfailovern (HA) usw. gespeichert bleiben.
Netzwerk
- Das Ein- und Auslagern eines virtuellen Netzwerks wird derzeit nicht unterstützt.
- Das Kombinieren des öffentlichen Zugriffs mit der Bereitstellung in einem virtuellen Netzwerk wird derzeit nicht unterstützt.
- Firewallregeln werden in virtuellen Netzwerken nicht unterstützt. Sie können stattdessen Netzwerksicherheitsgruppen verwenden.
- Öffentliche Zugriffsdatenbankserver können eine Verbindung mit dem öffentlichen Internet herstellen. Beispielsweise: über
postgres_fdw
. Sie können diesen Zugriff nicht einschränken. Server in virtuellen Netzwerken können eingeschränkten ausgehenden Zugriff über Netzwerksicherheitsgruppen haben.
Hochverfügbarkeit
- Weitere Informationen unter Hochverfügbarkeit (Zuverlässigkeit) für Azure Database for PostgreSQL – Flexible Server.
Verfügbarkeitszonen
- Manuelles Verschieben von Servern in eine andere Verfügbarkeitszone wird derzeit nicht unterstützt. Wenn Sie jedoch die bevorzugte Verfügbarkeitszone als Standbyzone verwenden, können Sie HA aktivieren. Nachdem Sie die Standbyzone hergestellt haben, können Sie zu dieser den Failover ausführen und dann HA deaktivieren.
Postgres-Engine, Erweiterungen und PgBouncer
- Postgres 10 und ältere Versionen werden nicht unterstützt, da die Open-Source-Community sie eingestellt hat. Wenn Sie eine dieser Versionen verwenden müssen, müssen Sie die Option Azure Database for PostgreSQL Single Server verwenden, welche die älteren Hauptversionen 9.5, 9.6 und 10 unterstützt.
- Azure Database for PostgreSQL Flexible Server unterstützt alle
contrib
-Erweiterungen und vieles mehr. Weitere Informationen finden Sie im Artikel zu PostgreSQL-Erweiterungen. - Der integrierte Verbindungspooler PgBouncer ist derzeit für Server im Tarif „Burstfähig“ nicht verfügbar.
Stopp-/Startvorgänge
- Nachdem Sie die Instanz von Azure Database for PostgreSQL – Flexible Server beenden, wird sie nach sieben Tagen automatisch gestartet.
Geplante Wartung
- Sie können das benutzerdefinierte Wartungsfenster auf einen beliebigen Tag/Zeitpunkt der Woche ändern. Änderungen, die nach Erhalt der Wartungsbenachrichtigung vorgenommen wurden, haben jedoch keine Auswirkungen auf die nächste Wartung. Änderungen werden erst bei der nächsten monatlich geplanten Wartung wirksam.
Serversicherungen
Das System verwaltet Sicherungen. Es gibt derzeit keine Möglichkeit, Sicherungen manuell auszuführen. Stattdessen wird die Verwendung von
pg_dump
empfohlen.Die erste Momentaufnahme ist eine vollständige Sicherung, und aufeinanderfolgende Momentaufnahmen sind differenzielle Sicherungen. Die differenziellen Sicherungen sichern nur die geänderten Daten seit der letzten Momentaufnahmensicherung.
Wenn ihre Datenbank beispielsweise 40 GB groß ist und Ihr bereitgestellter Speicherplatz 64 GB beträgt, beträgt die erste Momentaufnahmensicherung 40 GB. Wenn Sie nun 4 GB Daten ändern, beträgt die Größe der nächsten differenziellen Momentaufnahmensicherung nur 4 GB. Die Transaktionsprotokolle (Write-Ahead-Protokolle, WAL) sind von den vollständigen/differenziellen Sicherungen getrennt und sie werden fortlaufend archiviert.
Serverwiederherstellung
- Bei Verwenden des Features „Zeitpunktwiederherstellung“ (point-in-time restore, PITR) wird der neue Server mit der dem zugrunde liegende Server entsprechenden Compute- und Speicherkonfiguration erstellt.
- Datenbankserver in virtuellen Netzwerken werden in denselben virtuellen Netzwerken wiederhergestellt, wenn Sie aus einer Sicherung wiederherstellen.
- Der neue Server, der während einer Wiederherstellung erstellt wird, weist nicht die Firewallregeln auf, die auf dem ursprünglichen Server vorhanden waren. Sie müssen Firewallregeln separat für den neuen Server erstellen.
- Die Wiederherstellung in einem anderen Abonnement wird nicht unterstützt. Als Alternative können Sie den Server innerhalb desselben Abonnements wiederherstellen und dann den wiederhergestellten Server zu einem anderen Abonnement migrieren.
Sicherheit
- MD5-Hashing ist von Postgres 14 und höheren Versionen deaktiviert und native Postgres-Passwörter werden nur mit der SCRAM-SHA-256-Methode gehasht.
Zugehöriger Inhalt
- Grundlegendes zu verfügbaren Optionen für Compute-Optionen
- Grundlegendes zu verfügbaren Optionen für Storage-Optionen
- Hier erfahren Sie mehr über Unterstützte Versionen der PostgreSQL-Datenbank.
- Weitere Informationen finden Sie in der Anleitung zum Sichern und Wiederherstellen eines Servers in Azure Database for PostgreSQL Flexible Server mithilfe des Azure-Portals.