Parameter für die Protokollierung in - 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.

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 stderr, aber Sie können auch das CSV-Format angeben, indem Sie der Einstellung csvlog hinzufügen. Weitere Informationen finden Sie unter Festlegen des Protokollziels (stderr, csvlog).

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 postgresql.log.%Y-%m-%d und postgresql.log.%Y-%m-%d-%H%M für das Dateinamenmuster.

log_line_prefix

%t:%r:%u@%d:[%p]:

Definiert das Präfix für jede Protokollzeile, die in stderr geschrieben wird, um die Uhrzeit (%t), den Remote-Host (%r), den Benutzer (%u), die Datenbank (%d) und die Prozess-ID (%p) anzugeben.

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 log_rotation_age Parameters rotiert werden. Weitere Informationen hierzu finden Sie unter Festlegen der Rotation der Protokolldatei.

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.

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 und log_rotation_size in der PostgreSQL-Dokumentation.

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_periodund 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