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.
Parameter für die Protokollierung in
Sie können das Protokollierungsverhalten für Ihre DB-Instance von RDS für PostgreSQL anpassen, indem Sie verschiedene Parameter ändern. In der folgenden Tabelle finden Sie unter anderem die Parameter, die sich darauf auswirken, wie lange die Protokolle gespeichert werden, wann das Protokoll rotiert werden soll und ob das Protokoll im CSV-Format (Comma-Separated Value) ausgegeben werden soll. Außerdem ist abgesehen von anderen Einstellungen die Textausgabe angegeben, die an STDERR gesendet wurde. Wenn Sie die Einstellungen für die modifizierbaren Parameter ändern möchten, verwenden Sie eine benutzerdefinierte DB-Parametergruppe für Ihren . Instance von RDS für PostgreSQL Weitere Informationen finden Sie unter DB-Parametergruppen für Amazon RDS Amazon.
Parameter | Standard | Beschreibung |
---|---|---|
log_destination |
stderr |
Legt das Ausgabeformat für das Protokoll fest. Die Standardeinstellung ist |
log_filename |
postgresql.log.%Y-%m-%d-%H |
Gibt das Muster für den Namen der Protokolldatei an. Zusätzlich zur Standardeinstellung unterstützt dieser Parameter |
log_line_prefix |
%t:%r:%u@%d:[%p]: |
Definiert das Präfix für jede Protokollzeile, die in |
log_rotation_age |
60 |
Minuten, nach denen die Protokolldatei automatisch rotiert wird. Sie können diesen Wert im Bereich von 1 bis 1440 Minuten ändern. Weitere Informationen finden Sie unter Festlegen der Rotation der Protokolldatei. |
log_rotation_size |
– |
Die Größe (kB), bei der das Protokoll automatisch rotiert wird. Standardmäßig wird dieser Parameter nicht verwendet, da die Protokolle auf der Grundlage des |
rds.log_retention_period |
4320 |
PostgreSQL-Protokolle, die älter als die angegebene Anzahl von Minuten sind, werden gelöscht. Mit dem Standardwert von 4.320 Minuten werden Protokolldateien nach 3 Tagen gelöscht. Weitere Informationen finden Sie unter Festlegen des Aufbewahrungszeitraums für Protokolle. |
Anwendungsprobleme können Sie identifizieren, indem Sie im Protokoll nach Abfragefehlern, Anmeldefehlern, Deadlocks und schwerwiegenden Serverfehlern suchen. Angenommen, Sie haben eine Legacy-Anwendung von Oracle in Amazon RDS PostgreSQL konvertiert, wobei jedoch nicht alle Abfragen ordnungsgemäß umgewandelt wurden. Diese falsch formatierten Abfragen generieren Fehlermeldungen in den Protokollen, mit denen Sie Probleme identifizieren können. Weitere Informationen zur Protokollierung von Abfragen finden Sie unter Aktivieren der Abfrageprotokollierung für Ihre DB-Instance von RDS für PostgreSQL.
In den folgenden Themen finden Sie Informationen darüber, wie Sie verschiedene Parameter festlegen, die die grundlegenden Details Ihrer PostgreSQL-Protokolle steuern.
Themen
Festlegen des Aufbewahrungszeitraums für Protokolle
Der rds.log_retention_period
-Parameter gibt an, wie lange Ihre DB-Instance von RDS für PostgreSQL die entsprechenden Protokolldateien aufbewahrt. Die Standardeinstellung ist 3 Tage (4 320 Minuten). Sie können diese Einstellung jedoch auf einen beliebigen Wert zwischen 1 Tag (1 440 Minuten) und 7 Tagen (10 080 Minuten) festlegen. Stellen Sie sicher, dass Ihre DB-Instance von RDS für PostgreSQL über ausreichend Speicherplatz verfügt, um die Protokolldateien für diesen Zeitraum zu speichern.
Wir empfehlen, dass Sie Ihre Protokolle routinemäßig in Amazon CloudWatch Logs veröffentlichen, damit Sie Systemdaten noch lange nach dem Entfernen der Protokolle aus Ihrem anzeigen und analysieren können. DB-Instance von RDS für PostgreSQL Weitere Informationen finden Sie unter PostgreSQL-Protokolle in Amazon Logs veröffentlichen CloudWatch .
Festlegen der Rotation der Protokolldatei
Neue Protokolldateien werden von Amazon RDS standardmäßig jede Stunde erstellt. Das Timing wird vom Parameter log_rotation_age
kontrolliert. Dieser Parameter hat einen Standardwert von 60 (Minuten). Sie können ihn jedoch auf jeden beliebigen Wert zwischen 1 Minute und 24 Stunden (1 440 Minuten) festlegen. Wenn die Rotation ansteht, wird eine neue eindeutige Protokolldatei erstellt. Die Datei wird nach dem Muster benannt, das durch den Parameter log_filename
angegeben wird.
Protokolldateien können auch entsprechend ihrer Größe gedreht werden, wie im Parameter log_rotation_size
angegeben. Dieser Parameter gibt an, dass das Protokoll rotiert werden soll, wenn es die angegebene Größe (in Kilobyte) erreicht. Bei einer RDS-for-PostgreSQL-DB-Instance wird log_rotation_size
nicht festgelegt, das heißt, es wird kein Wert angegeben. Der Parameter ermöglicht jedoch die Einstellung von 0-2 097 151 kB (Kilobyte).
Die Protokolldateinamen basieren auf dem Dateinamenmuster des Parameters log_filename
. Die verfügbaren Einstellungen für diesen Parameter lauten wie folgt:
-
postgresql.log.%Y-%m-%d
– Standardformat für den Namen der Protokolldatei. Nimmt das Jahr, den Monat und das Datum in den Namen der Protokolldatei auf. -
postgresql.log.%Y-%m-%d-%H
– Nimmt die Stunde in das Format des Protokolldateinamens auf.
Weitere Informationen finden Sie unter log_rotation_age
log_rotation_size
Festlegen des Protokollziels (stderr
, csvlog
)
Standardmäßig generiert Amazon RDS PostgreSQL Protokolle im Standardfehlerformat (stderr). Dieses Format ist die Standardeinstellung des Parameters log_destination
. Jede Nachricht erhält ein Präfix nach dem im log_line_prefix
-Parameter angegebenen Muster. Weitere Informationen finden Sie unter Grundlagen des Parameters log_line_prefix.
RDS für PostgreSQL kann die Protokolle auch im csvlog
-Format generieren. Das csvlog
-Format ist nützlich, um die Protokolldaten als CSV-Daten zu analysieren. Angenommen, Sie verwenden die Erweiterung log_fdw
, um mit Ihren Protokollen als Fremdtabellen zu arbeiten. Die Fremdtabelle, die für stderr
-Protokolldateien erstellt wurde, enthält eine einzelne Spalte mit Protokollereignisdaten. Durch Hinzufügen von csvlog
zum log_destination
-Parameter erhalten Sie die Protokolldatei im CSV-Format mit Abgrenzungen für die verschiedenen Spalten der Fremdtabelle. Sie können Ihre Protokolle jetzt einfacher sortieren und analysieren. Informationen dazu, wie Sie log_fdw
mit csvlog
verwenden, finden Sie unter Verwenden der Erweiterung log_fdw für den Zugriff auf das DB-Protokoll mit SQL.
Wenn Sie csvlog
für diesen Parameter angeben, beachten Sie, dass sowohl stderr
- als auch csvlog
-Dateien generiert werden. Achten Sie auf den von den Protokollen verbrauchten Speicher und berücksichtigen Sie dabei die rds.log_retention_period
und andere Einstellungen, die sich auf den Protokollspeicher und Turnover auswirken. Wenn Sie stderr
und csvlog
verwenden, verdoppelt sich der von den Protokollen verbrauchte Speicher.
Wenn Sie csvlog
zu log_destination
hinzufügen und zu stderr
allein zurückkehren möchten, müssen Sie den Parameter zurücksetzen. Rufen Sie dazu die Amazon-RDS-Konsole auf und öffnen Sie die benutzerdefinierte DB-Parametergruppe für Ihre Instance. Wählen Sie den log_destination
-Parameter, die Option Edit parameter (Parameter bearbeiten) und dann Reset (Zurücksetzen) aus.
Weitere Informationen zum Konfigurieren der Protokollierung finden Sie unter Arbeiten mit Amazon-RDS- und Aurora-PostgreSQL-Protokollen: Teil 1
Grundlagen des Parameters log_line_prefix
Das stderr
Protokollformat stellt jeder Protokollnachricht die durch den log_line_prefix
Parameter angegebenen Details voran. Der Standardwert ist:
%t:%r:%u@%d:[%p]:t
Ab Aurora PostgreSQL Version 16 können Sie auch wählen:
%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a
Jeder an stderr gesendete Protokolleintrag enthält die folgenden Informationen, die auf dem ausgewählten Wert basieren:
-
%t
— Uhrzeit des Protokolleintrags ohne Millisekunden -
%m
— Uhrzeit des Logeintrags in Millisekunden -
%r
– Adresse des Remote-Hosts -
%u@%d
– Benutzername und Datenbankname -
[%p]
– Prozess-ID, falls verfügbar -
%l
— Nummer der Protokollzeile pro Sitzung -
%e
— SQL-Fehlercode -
%s
— Zeitstempel für den Prozessstart -
%v
— Virtuelle Transaktions-ID -
%x
— Transaktions-ID -
%c
— Sitzungs-ID -
%q
— Terminator, der keine Sitzung beendet -
%a
— Name der Anwendung