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 Anmeldung in SQL
Sie können das Logging-Verhalten für Ihren für die SQL Postgre-DB-Instance anpassen, indem Sie verschiedene Parameter ändern. In der folgenden Tabelle finden Sie die Parameter, die beeinflussen, wie lange die Protokolle gespeichert werden, wann das Protokoll rotiert werden soll und ob das Protokoll als Format CSV (durch Kommas getrennte Werte) ausgegeben werden soll. Neben anderen Einstellungen finden Sie auch die TextausgabeSTDERR, an die gesendet wurde. Um die Einstellungen für die Parameter zu ändern, die geändert werden können, verwenden Sie eine benutzerdefinierte für Ihren . RDSfür eine Postgre-InstanzSQL. Weitere Informationen finden Sie unter DB-Parametergruppen für Amazon RDS Amazon. Wie in der Tabelle angegeben, kann der Wert log_line_prefix
nicht geändert werden.
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 | SQLPostgre-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. Nehmen wir beispielsweise an, Sie haben eine Legacy-Anwendung von Oracle nach Amazon RDS Postgre konvertiertSQL, aber nicht alle Abfragen wurden korrekt konvertiert. 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 Ihren .
In den folgenden Themen finden Sie Informationen darüber, wie Sie verschiedene Parameter festlegen, die die grundlegenden Details für Ihre Postgre-Protokolle steuern. SQL
Themen
Festlegen des Aufbewahrungszeitraums für Protokolle
Der rds.log_retention_period
Parameter gibt an, wie lange Ihr für die SQL Postgre-DB-Instance seine 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 Ihr für die SQL Postgre-DB-Instance ü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 . RDSfür die Postgre-DB-Instance. SQL Weitere Informationen finden Sie unter SQLPostgre-Protokolle in Amazon CloudWatch Logs veröffentlichen.
Festlegen der Rotation der Protokolldatei
Amazon RDS erstellt standardmäßig jede Stunde neue Protokolldateien. 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. RDSFür eine SQL For-Postgre-DB-Instance log_rotation_size
ist dieser Wert nicht gesetzt, d. h. es wurde 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 SQL generiert Amazon RDS Postgre 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.
for Postgre SQL kann die Protokolle auch im csvlog
Format generieren. Das csvlog
ist nützlich, um die Protokolldaten als Daten mit kommagetrennten Werten () zu analysieren. CSV 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 csvlog
zum log_destination
Parameter erhalten Sie die Protokolldatei in dem CSV Format mit den 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. Öffnen Sie dazu die RDS Amazon-Konsole und dann die benutzerdefinierte 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 zur Konfiguration der Protokollierung finden Sie unter Arbeiten mit Amazon RDS - und Aurora SQL Postgre-Protokollen: Teil 1.
Grundlagen des Parameters log_line_prefix
Das stderr
-Protokollformat wird jeder Protokollnachricht wie folgt mit den Details vorangestellt, die durch den log_line_prefix
-Parameter angegeben werden.
%t:%r:%u@%d:[%p]:t
Sie können diese Einstellung nicht ändern. Jeder Protokolleintrag, der an stderr
gesendet wird, enthält die folgenden Informationen.
-
%t
– Zeitpunkt der Protokolleingabe -
%r
– Adresse des Remote-Hosts -
%u@%d
– Benutzername und Datenbankname -
[%p]
– Prozess-ID, falls verfügbar