Häufige DBA-Aufgaben für Amazon RDS for PostgreSQL - 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.

Häufige DBA-Aufgaben für Amazon RDS for PostgreSQL

Bei der Verwaltung einer DB-Instance von Amazon RDS for PostgreSQL führen Datenbankadministratoren (DBAs) eine Vielzahl von Aufgaben aus. Wenn Sie als DBA bereits mit PostgreSQL vertraut sind, müssen Sie sich einige wichtige Unterschiede zwischen dem Ausführen von PostgreSQL auf Ihrer Hardware und RDS for PostgreSQL beachten. Da es sich beispielsweise um einen verwalteten Service handelt, lässt Amazon RDS keinen Shell-Zugriff auf Ihre DB-Instances zu. Das bedeutet, dass Sie keinen direkten Zugriff auf pg_hba.conf und andere Konfigurationsdateien haben. Bei RDS für PostgreSQL werden Änderungen, die normalerweise an der PostgreSQL-Konfigurationsdatei einer lokalen Instance vorgenommen werden, an einer benutzerdefinierten DB-Parametergruppe vorgenommen, die der DB-Instance von RDS für PostgreSQL zugeordnet ist. Weitere Informationen finden Sie unter Arbeiten mit Parametergruppen.

Darüber hinaus können Sie nicht auf die gleiche Weise auf Protokolldateien zugreifen wie mit einer lokalen PostgreSQL-Instance. Weitere Informationen zur Protokollierung finden Sie unter Datenbank-Protokolldateien von RDS für PostgreSQL.

Sie haben beispielsweise auch keinen Zugriff auf das superuser-Konto von PostgreSQL. Bei RDS for PostgreSQL ist die rds_superuser-Rolle diejenige mit den meisten Berechtigungen und wird postgres zum Zeitpunkt der Einrichtung gewährt. Unabhängig davon, ob Sie mit der On-Premises-Verwendung von PostgreSQL vertraut sind oder Neueinsteiger bei RDS for PostgreSQL sind, empfehlen wir Ihnen, sich mit der rds_superuser-Rolle und dem Umgang mit Rollen, Benutzern, Gruppen und Berechtigungen vertraut zu machen. Weitere Informationen finden Sie unter Grundlegendes zu PostgreSQL-Rollen und -Berechtigungen.

Im Folgenden sind einige häufige DBA-Aufgaben für RDS for PostgreSQL aufgeführt.

Arbeiten mit Protokollierungsmechanismen, die von RDS for PostgreSQL unterstützt werden

Es gibt mehrere Parameter, Erweiterungen und andere konfigurierbare Elemente, die Sie festlegen können, um Aktivitäten zu protokollieren, die auf Ihrer PostgreSQL-DB-Instance auftreten. Diese umfassen u. a. folgende:

  • Der Parameter log_statement kann verwendet werden, um in Ihrer PostgreSQL-Datenbank Benutzeraktivitäten zu protokollieren. Weitere Informationen über RDS for PostgreSQL-Protokollierung und zur Überwachung der Protokolle finden Sie unter Datenbank-Protokolldateien von RDS für PostgreSQL.

  • Der Parameter rds.force_admin_logging_level protokolliert Aktionen durch den internen Amazon-RDS-Benutzer (rdsadmin) in den Datenbanken in der DB-Instance. Die Ausgabe wird in das PostgreSQL-Fehlerprotokoll geschrieben. Zulässige Werte sind disabled, debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, Protokoll, fatal und panic. Der Standardwert ist disabled.

  • Der rds.force_autovacuum_logging_level-Parameter kann festgelegt werden, um verschiedene Selbstbereinigungsoperationen im PostgreSQL-Fehlerprotokoll zu erfassen. Weitere Informationen finden Sie unter Protokollieren von Selbstbereinigung- und Bereinigungsaktivitäten.

  • Die PostgreSQL Audit (pgAudit)-Erweiterung kann installiert und konfiguriert werden, um Aktivitäten auf Sitzungsebene oder auf Objektebene zu erfassen. Weitere Informationen finden Sie unter Verwenden von pgAudit zur Protokollierung der Datenbankaktivität.

  • Die log_fdw-Erweiterung ermöglicht es Ihnen, über SQL auf das Datenbank-Engine-Protokoll zuzugreifen. Weitere Informationen finden Sie unter Verwenden der Erweiterung log_fdw für den Zugriff auf das DB-Protokoll mithilfe von SQL.

  • Die pg_stat_statements-Bibliothek ist als Standardwert für den shared_preload_libraries-Parameter in RDS for PostgreSQL Version 10 und höher angegeben. Mit dieser Bibliothek können Sie laufende Abfragen analysieren. Stellen Sie sicher, dass pg_stat_statements in Ihrer DB-Parametergruppe festgelegt ist. Weitere Informationen zur Überwachung Ihrer DB-Instance von RDS for PostgreSQL unter Verwendung der Informationen, die diese Bibliothek bereitstellt, finden Sie unter SQL-Statistiken für RDS PostgreSQL.

  • Der log_hostname-Parameter erfasst den Hostnamen jeder Client-Verbindung im Protokoll. Für RDS für PostgreSQL Version 12 und höhere Versionen ist dieser Parameter standardmäßig auf off festgelegt. Wenn Sie ihn aktivieren, achten Sie darauf, die Verbindungszeiten der Sitzung zu überwachen. Wenn diese Option aktiviert ist, verwendet der Dienst die Reverse-Lookup-Anfrage des Domain Name Systems (DNS), um den Hostnamen des Clients, der die Verbindung herstellt, abzurufen und dem PostgreSQL-Protokoll hinzuzufügen. Dies hat spürbare Auswirkungen während der Sitzungsverbindung. Wir empfehlen, diesen Parameter nur für Fehlerbehebungszwecke zu aktivieren.

Im Allgemeinen ist der Zweck der Protokollierung, dass der DBA die Leistung überwachen, optimieren und Fehler beheben kann. Viele der Protokolle werden automatisch auf Amazon CloudWatch oder Performance Insights hochgeladen. Hier werden sie sortiert und gruppiert, um vollständige Metriken für die DB-Instance bereitzustellen. Weitere Informationen zur Amazon-RDS-Überwachung und -Metriken finden Sie unter Überwachen von Metriken in einer Amazon-RDS-Instance.

Verwenden von pgBadger für die Protokollanalyse mit PostgreSQL

Sie können einen Protokollanalysierer wie pgBadger verwenden, um PostgreSQL-Protokolle zu analysieren. Die pgBadger-Dokumentation besagt, dass das Muster %l (Die Protokollzeile für die Sitzung oder den Prozess) ein Teil des Präfixes sein muss. Wenn Sie jedoch das aktuelle RDS log_line_prefix als Parameter für pgBadger angeben, wird dennoch ein Bericht erstellt.

Beispielsweise formatiert der folgende Befehl eine Amazon-RDS-for-PostgreSQL-Protokolldatei mit dem Datum 2014-02-04 korrekt unter Verwendung von pgBadger.

./pgbadger -f stderr -p '%t:%r:%u@%d:[%p]:' postgresql.log.2014-02-04-00

Verwenden von PGSnapper zur Überwachung von PostgreSQL

Sie können PGSnapper verwenden, um Sie bei der regelmäßigen Erfassung leistungsbezogener Statistiken und Metriken von Amazon RDS für PostgreSQL zu unterstützen. Weitere Informationen finden Sie unter Überwachen der Leistung von Amazon RDS für PostgreSQL mit PgSnapper.