CONFIGURATION PARAMETER错误报告和日志 / 记录到哪里
silent_mode
静默地运行服务器。
Runs the server silently.
布尔 重启生效 引入 7.4(基线) 于 9.2 移除 0 次默认值变更
- 类型
- 布尔bool
- 上下文
- 重启生效只能在服务器启动时设置,修改后需要重启
- 默认值
off- 引入版本
- 7.4(基线)
- 状态
- 于 9.2 移除
版本轨迹
相对 PostgreSQL 9.0 无变化。
默认值变迁
已记录的默认值在 PostgreSQL 9.0–9.1 之间未变。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。
手册说明
静默地运行服务器。如果设置了这个参数,服务器将自动在后台运行并脱离控制终端。这个参数只能在服务器启动时设置。
小心
当设置了这个参数时,服务器的标准输出和标准错误会被重定向到数据目录中的postmaster.log文件。没有任何轮转这个文件的机制,所以除非服务器日志输出被其他设置重定向到别处,它将无限增长。建议在使用这个选项时将log_destination设置为syslog或者启用logging_collector。即使采取这些措施,启动早期报告的错误也可能出现在postmaster.log中而不是正常的日志目标中。
机制详解
silent_mode:让服务器以静默模式运行。该值在服务器启动时固定,修改后必须安排受控重启。 本站在 PG9.0–9.1 实测到它;boot_val 是编译或初始化基线,并不能证明某个运行集群的当前有效值。
静默模式是早期后台运行服务器时处理终端输出的便利开关。PG9.2 移除了它;现代环境应由服务管理器以及 logging_collector、log_destination、log_directory 明确管理进程和日志。
应与 logging_collector、log_destination、log_directory、log_filename 一起理解。请在目标服务器检查 SHOW 与 pg_settings,确认 source 和 pending_restart,并在修改前后对比真实负载、日志和资源指标。
调优建议
按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。
-
OLTP在线事务处理
不要把这个已退出的名称加入现代 OLTP 配置。应把原意迁移到文档给出的后继参数,在连接与写并发下验证,并清理仍会输出旧名称的自动化。
-
OLAP分析与批处理
升级分析型环境前应盘点所有生成配置,把旧控制映射到后继项,并比较执行计划、吞吐、WAL 或日志行为;不能假设旧数值可直接搬用。
-
小规格低配实例与开发机
记录旧覆盖存在的原因后将其删除。小节点应先采用后继参数默认值,实测后再调整;未知的启动参数可能直接阻止服务器启动。
常见问题
- 把 silent_mode 的实测 boot_val 当成初始化后或托管集群当前有效值的证明。
- 忽略 pg_settings 报告的 postmaster context,误以为修改会立即生效。
- 孤立修改该参数,没有检查关联上限、可观测性和回滚路径。
- 把已移除名称复制到现代 postgresql.conf,而没有迁移到文档给出的后继参数。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。
-
PostgreSQL 9.2 ← 9.1 移除此参数
该版起不再存在
逐版本快照
每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。
参考资料
同类参数
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
| 记录到哪里 14 | |||||
event_source |
字符串 | 重启生效 | PostgreSQL |
— | |
| 当启用了向事件日志记录时,这个参数决定用来标识日志中 PostgreSQL 消息的程序名。 | 现存 | ||||
log_destination |
字符串 | 重载生效 | stderr |
— | |
| PostgreSQL 支持多种记录服务器消息的方法,包括 stderr,csvlog,jsonlog 和 syslog。 | 现存 | ||||
log_directory |
字符串 | 重载生效 | log |
101 次 | |
| 当 logging_collector 被启用时,这个参数决定日志文件将被在哪个目录下创建。 | 现存 | ||||
log_file_mode |
整数 | 重载生效 | 384 |
— | |
| 在 Unix 系统上,当 logging_collector 被启用时,这个参数设置日志文件的权限(在微软 Windows 上这个参数将被忽略)。 | 现存 | ||||
log_filename |
字符串 | 重载生效 | postgresql-%Y-%m-%d_%H%M%S.log |
— | |
| 当 logging_collector 被启用时,这个参数设置被创建的日志文件的文件名。 | 现存 | ||||
log_rotation_age |
整数 | 重载生效 | 1 d |
— | |
| 当 logging_collector 被启用时,这个参数决定单个日志文件使用的最长时间,超过后创建一个新的日志文件。 | 现存 | ||||
log_rotation_size |
整数 | 重载生效 | 10 MiB |
181 次 | |
| 当 logging_collector 被启用时,这个参数决定单个日志文件的最大尺寸。 | 现存 | ||||
log_truncate_on_rotation |
布尔 | 重载生效 | off |
— | |
| 当 logging_collector 被启用时,这个参数将导致 PostgreSQL 截断(覆盖而不是追加)任何已有的同名日志文件。 | 现存 | ||||
logging_collector |
布尔 | 重启生效 | off |
— | |
| 这个参数启用日志收集器,它是一个捕捉被发送到 stderr 的日志消息的后台进程,并且它会将这些消息重定向到日志文件中。 | 现存 | ||||
silent_mode |
布尔 | 重启生效 | off |
— | |
| 静默地运行服务器。 | 于 9.2 移除 | ||||
syslog_facility |
枚举 | 重载生效 | local0 |
8.41 次 | |
| 当启用了向 syslog 记录时,这个参数决定要使用的 syslog“设施”。 | 现存 | ||||
syslog_ident |
字符串 | 重载生效 | postgres |
— | |
| 当启用了向 syslog 记录时,这个参数决定用来标识 syslog 中的 PostgreSQL 消息的程序名。 | 现存 | ||||
syslog_sequence_numbers |
布尔 | 重载生效 | on |
— | |
| 当日志被记录到 syslog 并且这个设置为 on(默认)时,每一个消息会被加上一个增长的序号作为前缀(例如[2])。 | 现存 | ||||
syslog_split_messages |
布尔 | 重载生效 | on |
— | |
| 当启用把日志记录到 syslog 时,这个参数决定消息如何送达 syslog。 | 现存 | ||||