

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.

# Hakenreferenz für Trusted Language Extensions für PostgreSQL
<a name="PostgreSQL_trusted_language_extension-hooks-reference"></a>

Trusted Language Extensions für PostgreSQL unterstützt PostgreSQL-Haken. Ein *Haken* ist ein interner Callback-Mechanismus, der Entwicklern zur Erweiterung der Kernfunktionalität von PostgreSQL zur Verfügung steht. Durch die Verwendung von Haken können Entwickler ihre eigenen Funktionen oder Verfahren zur Verwendung bei verschiedenen Datenbankoperationen implementieren und so das Verhalten von PostgreSQL in gewisser Weise ändern. Sie können beispielsweise einen `passcheck`-Haken verwenden, um anzupassen, wie PostgreSQL die Passwörter behandelt, die beim Erstellen oder Ändern von Passwörtern für Benutzer (Rollen) angegeben werden.

In der folgenden Dokumentation erfahren Sie mehr über die Passcheck-Hooks, die für Ihre TLE-Erweiterungen verfügbar sind. Weitere Informationen zu den verfügbaren Hooks, einschließlich des Client-Authentifizierungs-Hooks, finden Sie unter [Trusted Language Extensions-Hooks](https://github.com/aws/pg_tle/blob/main/docs/04_hooks.md).

## Haken zur Passwortüberprüfung (Passcheck)
<a name="passcheck_hook"></a>

Der `passcheck`-Haken wird verwendet, um das PostgreSQL-Verhalten während der Passwortüberprüfung für die folgenden SQL-Befehle und `psql`-Metabefehle anzupassen.
+ `CREATE ROLE username ...PASSWORD` – Weitere Informationen finden Sie im Abschnitt [CREATE ROLE](https://www.postgresql.org/docs/current/sql-createrole.html) der PostgreSQL-Dokumentation.
+ `ALTER ROLE username...PASSWORD` – Weitere Informationen finden Sie im Abschnitt [ALTER ROLE](https://www.postgresql.org/docs/current/sql-alterrole.html) der PostgreSQL-Dokumentation.
+ `\password username` – Dieser interaktive `psql`-Metabefehl ändert das Passwort für den angegebenen Benutzer auf sichere Weise, indem er das Passwort hasht, bevor die `ALTER ROLE ... PASSWORD`-Syntax transparent verwendet wird. Der Metabefehl ist ein sicherer Wrapper für den `ALTER ROLE ... PASSWORD`-Befehl, daher gilt der Haken für das Verhalten des`psql`-Metabefehls.

Ein Beispiel finden Sie unter [Liste der Hakencodes für die Passwortüberprüfung](PostgreSQL_trusted_language_extension.overview.tles-and-hooks.md#PostgreSQL_trusted_language_extension-example-hook_code_listing).

**Contents**
+ [Funktionsprototyp](#passcheck_hook-prototype)
+ [Argumente](#passcheck_hook-arguments)
+ [Konfiguration](#passcheck_hook-configuration)
+ [Nutzungshinweise](#passcheck_hook-usage)

### Funktionsprototyp
<a name="passcheck_hook-prototype"></a>

```
passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)
```

### Argumente
<a name="passcheck_hook-arguments"></a>

Eine `passcheck`-Hakenfunktion verwendet die folgenden Argumente.
+ `username` – Der Name (als Text) der Rolle (Benutzername), die ein Passwort festlegt.
+ `password` – Das Klartext- oder Hash-Passwort. Das eingegebene Passwort sollte dem im `password_type` angegebenen Typ entsprechen.
+ `password_type` – Geben Sie das `pgtle.password_type`-Format des Passworts an. Dieses Format kann einer der folgenden Optionen entsprechen.
  + `PASSWORD_TYPE_PLAINTEXT` – Ein Klartext-Passwort.
  + `PASSWORD_TYPE_MD5`— Ein Passwort, das mit dem Algorithmus MD5 (Message Digest 5) gehasht wurde.
  + `PASSWORD_TYPE_SCRAM_SHA_256` – Ein Passwort, das mit dem SCRAM-SHA-256-Algorithmus gehasht wurde.
+ `valid_until` – Geben Sie den Zeitpunkt an, am dem das Passwort ungültig wird. Dieses Argument ist optional. Wenn Sie dieses Argument verwenden, geben Sie die Uhrzeit als `timestamptz`-Wert an.
+ `valid_null` – Wenn dieser boolesche Wert auf `true` festgelegt ist, wird die `valid_until`-Option auf `NULL` eingestellt.

### Konfiguration
<a name="passcheck_hook-configuration"></a>

Die Funktion `pgtle.enable_password_check` steuert, ob der Passcheck-Haken aktiv ist. Der Passcheck-Haken hat drei mögliche Einstellungen.
+ `off` – Schaltet den `passcheck`-Haken für die Passwortüberprüfung aus. Dies ist der Standardwert.
+ `on` – Aktiviert den `passcode`-Haken für die Passwortüberprüfung, sodass Passwörter mit der Tabelle verglichen werden.
+ `require` – Erfordert, dass ein Passwortüberprüfungshaken definiert wird.

### Nutzungshinweise
<a name="passcheck_hook-usage"></a>

Um den `passcheck`-Haken ein- oder auszuschalten, müssen Sie die benutzerdefinierte DB-Parametergruppe für die Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL-DB-Clusters ändern.

Für Linux, macOS oder Unix:

```
aws rds modify-db-parameter-group \
    --region aws-region \
    --db-parameter-group-name your-custom-parameter-group \
    --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"
```

Für Windows:

```
aws rds modify-db-parameter-group ^
    --region aws-region ^
    --db-parameter-group-name your-custom-parameter-group ^
    --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"
```