RDSfür Postgre-Prozesse SQL - Amazon Relational Database Service

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- und ANALYZE-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.