我在 Windows Server 2008 R2 上运行 PostgreSQL 9.1。我通过修改 postgresql.conf 文件启用了将 SQL 语句记录到 stderr 日志,但现在我似乎无法在不关闭所有日志记录的情况下禁用日志记录。服务器通过 pg_ctl reload 发送 SIGHUP 信号,并且在每次尝试修复此问题后服务已重新启动。重新启动整个机器似乎也没有帮助。
我当前的 postgresql.conf 中的特定行应该已经完成了这个,但不是:
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_error_verbosity = default
log_hostname = on
log_line_prefix = '%t %a %u %r '
#log_lock_waits = off
log_statement = 'none'
#track_activities = on
#track_counts = on
#track_functions = none
#track_activity_query_size = 1024
#update_process_title = on
#stats_temp_directory = 'pg_stat_tmp'
Run Code Online (Sandbox Code Playgroud)
我检查了手册;似乎我需要做的就是确保log_statement
配置文件中的行设置正确。
但是,我所做的一切似乎对实际记录的内容没有任何影响。如果我关闭logging_collector
,则不再生成文本日志文件。这表明 PostgreSQL 至少指向了正确的postgres.conf
文件,并且 PostgreSQL 正在读取它以确定其配置。
如何关闭 SQL 语句日志记录?
您的列表中缺少许多相关设置。检查手册中的“何时登录”一章,特别是这些设置:
log_min_messages (enum)
log_min_error_statement (enum)
log_min_duration_statement (integer) -- as @Jack already hinted in his comment.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5691 次 |
最近记录: |