如何将postgresql配置为不记录插入数据库的实际数据?



我已经在我的PostgreSQL.conf中启用了日志记录,目前我的配置如下

log_directory = ''
log_filename = '' 
log_min_messages = info 
log_min_error_statement = error 
log_min_duration_statement = -1 
log_checkpoints = on 
log_connections = on 
log_disconnections = on 
log_duration = on 
log_line_prefix = '%t [%p-%l] %q%u@%d '
log_statement = 'all'

当前正在生成日志,但也正在记录敏感数据。 如何阻止这种情况发生?

数据库服务器日志被认为是安全的。默认情况下,只有数据库管理员和超级用户可以读取它。

如果您试图对数据库管理员保留数据库的内容,那将是困难的(我会说不可能(。

尝试从 DBA 隐藏数据通常是一个失败的原因,除非您在将数据发送到数据库之前对其进行加密。 并且没有其他人(或至少没有不受信任的人(有权访问数据库日志文件。

但是,您可以通过设置log_error_verbosity = terse来减少记录参数的"表面积"。 仅当以扩展语句或预准备语句发送数据,而不是硬编码到查询文本中时,这才有效。 这可能很难保证,因为无论您使用什么连接库,都可能绕过您的努力。

最新更新