Звучит как log_statement
установлено all
.
Если вы хотите, чтобы пароли не появлялись в журналах, в то время log_statement
как установлено значение, которое захватывает ALTER USER
/, ALTER ROLE
то вы захотите изменить это при смене паролей. например
BEGIN;
SET LOCAL log_statement = 'none';
ALTER USER ... SET PASSWORD ...;
COMMIT;
Вы должны быть суперпользователем, чтобы сделать это. Обычные пользователи не могут переопределить правила ведения журнала.
Было бы хорошо , если PostgreSQL поддерживается маркировки некоторых параметров в операторы (или даже функцию) в качестве защиты чувствительных и позволил пользователям с просьбой , чтобы они были замаскированы в виде бревен, pg_stat_statements
, pg_stat_activity
и т.д. Существует в настоящее время не любая такая особенность - но эй, патчи добро пожаловать. Если вы действительно заинтересованы, напишите на pgsql-hackers, прежде чем писать какой-либо реальный код, чтобы вы могли получить советы и комментарии. Кроме того, поговорите с кем-то, кто занимается контрактной разработкой.
В общем, PostgreSQL ожидает, что вы будете рассматривать журналы как конфиденциальные.
Существуют и другие области, в которых ведение журнала является серьезной проблемой безопасности. Например, некоторые pgcrypto
функции принимают в качестве параметров ключи шифрования.
\password
командуpsql
.