Es klingt wie log_statementeingestellt auf all.
Wenn Sie verhindern möchten, dass Kennwörter in den Protokollen angezeigt werden, während log_statementein Wert festgelegt ist, der ALTER USER/ erfasst, sollten ALTER ROLESie diesen beim Ändern von Kennwörtern überschreiben. z.B
BEGIN;
SET LOCAL log_statement = 'none';
ALTER USER ... SET PASSWORD ...;
COMMIT;
Sie müssen ein Superuser sein, um dies zu tun. Normale Benutzer können Protokollierungsregeln nicht überschreiben.
Es wäre schön, wenn PostgreSQL einige Parameter Anweisungen unterstützt das Markieren (oder sogar Funktionen) als sicherheitsempfindlich und erlaubt Benutzern zu verlangen , dass sie in Protokollen maskiert werden, pg_stat_statements, pg_stat_activity, etc. Es ist nicht eine solche Funktion - aber hey, Patches herzlich willkommen. Wenn Sie wirklich interessiert sind, posten Sie auf pgsql-Hackern, bevor Sie einen tatsächlichen Code schreiben, damit Sie Ratschläge und Kommentare erhalten. Alternativ können Sie mit jemandem sprechen, der die Vertragsentwicklung durchführt.
Im Allgemeinen erwartet PostgreSQL, dass Sie die Protokolle als vertraulich behandeln.
In anderen Bereichen ist die Protokollierung ein ernstes Sicherheitsrisiko. Beispielsweise verwenden einige pgcryptoFunktionen Kryptoschlüssel als Parameter.
\passwordBefehl von zu verwendenpsql.