

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.

# rds\_tools-Funktionsreferenz
<a name="PostgreSQL_rds_tools-functions-reference"></a>

Die `rds_tools` Erweiterung bietet eine Reihe von Hilfsfunktionen für die Verwaltung und Überwachung Ihrer . Mithilfe dieser Funktionen können Sie Replikations-, Vakuum- und Konfigurationsprobleme direkt von SQL aus diagnostizieren, ohne separate Überwachungstools. Diese Funktionen sind zusätzlich zu den Standardfunktionen von PostgreSQL verfügbar. Weitere Informationen zu PostgreSQL-Standardfunktionen finden Sie unter [Funktionen und Operatoren](https://www.postgresql.org/docs/current/functions.html) in der PostgreSQL-Dokumentation.

In diesem Abschnitt werden die `rds_tools` Funktionen beschrieben, die auf verfügbar sind. In jeder Funktionsbeschreibung wird die `rds_tools` Erweiterungsversion angegeben, in der die Funktion verfügbar wurde.

Führen Sie den folgenden Befehl aus, um die Erweiterung zu erstellen.

```
postgres=> CREATE EXTENSION rds_tools;
CREATE EXTENSION
```

**Topics**
+ [rds\_tools.role\_password\_encryption\_type](#rds_tools.role_password_encryption_type)
+ [rds\_tools.postgres\_get\_av\_diag](#rds_tools.postgres_get_av_diag)

## rds\_tools.role\_password\_encryption\_type
<a name="rds_tools.role_password_encryption_type"></a>

Gibt die Methode zur Kennwortverschlüsselung zurück, die für jede Datenbankrolle verwendet wurde. Diese Funktion zur Rückgabe von Datensätzen schließt RDS-protected Systemrollen aus der Ausgabe aus. Verfügbar ab der `rds_tools` Erweiterungsversion 1.0.

Ein Beispiel für die Verwendung dieser Funktion zur Überprüfung der Kennwortverschlüsselung vor der Migration von Datenbankbenutzern zu SCRAM finden Sie unter. [Verwenden von SCRAM für die PostgreSQL-Passwortverschlüsselung](PostgreSQL_Password_Encryption_configuration.md)

### Funktionsprototyp
<a name="rds_tools.role_password_encryption_type-prototype"></a>

```
rds_tools.role_password_encryption_type()
```

### Argumente
<a name="rds_tools.role_password_encryption_type-arguments"></a>

Keine.

### Ausgabe
<a name="rds_tools.role_password_encryption_type-output"></a>
+ `rolname`— Der Name der Datenbankrolle.
+ `encryption_type`— Die verwendete Methode zur Passwortverschlüsselung, z. B. `md5` oder`scram-sha-256`.

### Verwendungsbeispiel
<a name="rds_tools.role_password_encryption_type-example"></a>

```
=> SELECT * FROM rds_tools.role_password_encryption_type();
    rolname    | encryption_type
---------------+-----------------
 postgres      | md5
 app_user      | md5
 readonly_user | scram-sha-256
(3 rows)
```

## rds\_tools.postgres\_get\_av\_diag
<a name="rds_tools.postgres_get_av_diag"></a>

Ruft Diagnoseinformationen über Autovakuumprozesse ab, die blockieren oder hinterherhinken, sowie Vorschläge zur Lösung der einzelnen Probleme. Führen Sie diese Funktion zur Rückgabe von Datensätzen in der Datenbank mit der ältesten Transaktions-ID aus, um genaue Ergebnisse zu erhalten. Weitere Informationen finden Sie unter [Identifizieren und Beheben aggressiver Vakuumblocker](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.md).

Verfügbar ab der `rds_tools` Erweiterungsversion 1.9.

### Funktionsprototyp
<a name="rds_tools.postgres_get_av_diag-prototype"></a>

```
rds_tools.postgres_get_av_diag()
```

### Argumente
<a name="rds_tools.postgres_get_av_diag-arguments"></a>

Keine.

### Ausgabe
<a name="rds_tools.postgres_get_av_diag-output"></a>
+ `blocker`— Die Kategorie der Datenbankaktivität, die das Vakuum blockiert. Der Wert ist einer der folgenden:
  + Aktive Anweisung
  + Leerlauf in Transaktion
  + Vorbereitete Transaktion
  + Logischer Replikations-Slot
  + Lesereplikat mit physischen Replikations-Slots
  + Lesereplikat mit Streaming-Replikation
  + Temporäre Tabellen
+ `database`— Der Name der Datenbank, in der die Blockierungsaktivität stattfindet.
+ `blocker_identifier`— Die Kennung der Blockierungsaktivität. Der Wert hängt vom Blockertyp ab:
  + Bei einer aktiven Anweisung oder einer Sitzung im Leerlauf bei einer Transaktion die Prozess-ID mit der zugehörigen SQL-Anweisung.
  + Für eine vorbereitete Transaktion der Name der vorbereiteten Transaktion.
  + Für ein gelesenes Replikat die IP-Adresse des Replikats.
  + Bei einem Replikationssteckplatz der Name des Replikationssteckplatzes.
+ `wait_event`— Das Warteereignis der blockierenden Sitzung, falls zutreffend.
+ `autovacuum_lagging_by`— Die Anzahl der Transaktionen, bei denen Autovacuum in dieser Kategorie hinterherhinkt.
+ `suggestion`— Ein Vorschlag zur Behebung des Blockers, einschließlich des Datenbanknamens, der Prozess-ID und der zu ergreifenden Aktion.
+ `suggested_action`— Eine Reihe von Maßnahmen, die ergriffen werden müssen, um den Blocker zu beheben.

### Verwendungsbeispiel
<a name="rds_tools.postgres_get_av_diag-example"></a>

```
=> SELECT *
   FROM rds_tools.postgres_get_av_diag()
   ORDER BY autovacuum_lagging_by DESC;

blocker               | Active statement
database              | my_database
blocker_identifier    | SELECT pg_sleep(20000);
wait_event            | Timeout:PgSleep
autovacuum_lagging_by | 568600871
suggestion            | Connect to database "my_database", review carefully, and consider terminating the process using suggested_action.
suggested_action      | {"SELECT pg_terminate_backend(29621);"}
```