Es klingt wie log_statement
eingestellt auf all
.
Wenn Sie verhindern möchten, dass Kennwörter in den Protokollen angezeigt werden, während log_statement
ein Wert festgelegt ist, der ALTER USER
/ erfasst, sollten ALTER ROLE
Sie 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 pgcrypto
Funktionen Kryptoschlüssel als Parameter.
\password
Befehl von zu verwendenpsql
.