Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
RDSfür Postgre-Prozesse SQL
RDSfür Postgre werden mehrere SQL Prozesse verwendet.
Postmaster-Prozess
Der Postmaster-Prozess ist der erste Prozess, der beim Start RDS von Postgre gestartet wird. SQL Der Postmaster-Prozess hat die folgenden Hauptaufgaben:
-
Hintergrundprozesse teilen und überwachen
-
Empfangen Sie Authentifizierungsanfragen von Clientprozessen und authentifizieren Sie sie, bevor Sie der Datenbank erlauben, Anfragen zu bearbeiten
Backend-Prozesse
Wenn der Postmaster eine Client-Anfrage authentifiziert, forkisiert der Postmaster einen neuen Backend-Prozess, auch Postgres-Prozess genannt. Ein Client-Prozess verbindet sich mit genau einem Backend-Prozess. Der Client-Prozess und der Backend-Prozess kommunizieren direkt ohne Eingriff des Postmaster-Prozesses.
Hintergrundprozesse
Der Postmaster-Prozess teilt mehrere Prozesse, die unterschiedliche Backend-Aufgaben ausführen. Einige der wichtigeren sind die folgenden:
-
WALSchreiber
RDSfür Postgre SQL schreibt Daten im Puffer WAL (Write-Ahead-Logging) in die Logdateien. Das Prinzip der Write-Ahead-Protokollierung besteht darin, dass die Datenbank keine Änderungen in die Datendateien schreiben kann, bis die Datenbank Protokolldatensätze geschrieben hat, die diese Änderungen auf die Festplatte beschreiben. Dieser WAL Mechanismus reduziert die Festplatten-I/O und ermöglicht es RDS Postgre, die Protokolle SQL zur Wiederherstellung der Datenbank nach einem Ausfall zu verwenden.
-
Hintergrund-Autor
Dieser Prozess schreibt regelmäßig schmutzige (modifizierte) Seiten aus den Speicherpuffern in die Datendateien. Eine Seite wird schmutzig, wenn ein Backend-Prozess sie im Speicher ändert.
-
Autovacuum-Daemon
Der Daemon besteht aus Folgendem:
-
Der Autovacuum-Launcher
-
Die Autovacuum-Worker-Prozesse
Wenn Autovacuum aktiviert ist, sucht es nach Tabellen mit einer großen Anzahl eingefügter, aktualisierter oder gelöschter Tupel. Der Daemon hat folgende Aufgaben:
-
Wiederherstellen oder Wiederverwenden von Speicherplatz, der von aktualisierten oder gelöschten Zeilen belegt ist
-
Vom Planer verwendete Statistiken aktualisieren
-
Schutz vor Verlust alter Daten durch Transaktions-ID-Wraparound
Die Autovacuum-Funktion automatisiert die Ausführung von
VACUUM
- undANALYZE
-Befehlen.VACUUM
hat folgende Varianten: Standard und Voll. Standardvakuum läuft parallel zu anderen Datenbankvorgängen.VACUUM FULL
erfordert eine exklusive Sperre für die Tabelle, an der es arbeitet. Daher kann es nicht parallel zu Vorgänge ausgeführt werden, die auf dieselbe Tabelle zugreifen.VACUUM
erzeugt eine beträchtliche Menge an I/O-Datenverkehr, was zu einer schlechten Leistung anderer aktiver Sitzungen führen kann. -