51.70. pg_file_settings

视图pg_file_settings提供了服务器配置文件 内容的概要。这个视图中的每一行表示配置文件中出现的一个 name = value项,还带有注解指示该值是否被成功地应用。在 配置文件有问题时,有可能出现额外的行,它们没有相关的 name = value项,一个例子是配置文件中有语法错误。

这个视图有助于检查在配置文件中打算做的修改是否能工作,或者用来诊断 之前的失败。注意这个视图报告的是配置文件的当前内容, 而不是服务器最后应用的值(这些值通常查看 pg_settings 视图就够了)。

默认情况下,pg_file_settings视图只有超级用户可读。

表 51.71. pg_file_settings的列

名称类型描述
sourcefiletext配置文件的完整路径名
sourcelineinteger 该项在配置文件中出现的行号
seqnointeger项被处理的顺序(1..n
nametext配置参数名
settingtext被赋予给参数的值
appliedboolean为真表示值已被成功应用
errortext如果非空,表示一个错误消息,它说明为什么这个项不能被应用

如果配置文件包含语法错误或者非法参数名,服务器将不会尝试从其中应用 任何设置,并且因此所有的applied域都为假。在这种情 况下,将会有一个或者多个行的error域为非空, 它们说明了为什么出问题。否则,将尽可能应用每个设置。如果一个设置不能 被应用(例如非法值或者该设置不能在服务器开始后改变),会有一个合适的 消息存储在它的error域中。一个项的applied 域为假的另一种情况是它被后面一个具有相同参数名的项所覆盖,这种情况不 会被认为是一种错误,因此在error域中不会有 错误消息。

关于更改运行时参数的各种方法请见第 19.1 节