pg_settings 提供了对服务器运行时参数的访问。它实际上是 SHOW 和 SET 命令的另外一个接口。它还提供一些用 SHOW 不能直接获取的参数的访问,比如最大和最小值。
表43-44. pg_settings 字段
名字 | 类型 | 描述 | |
---|---|---|---|
name | text | 运行时配置参数名 | |
setting | text | 参数的当前值 | |
unit | text | 参数的隐含单元 | |
category | text | 参数的逻辑组 | |
short_desc | text | 参数的一个简短的描述 | |
extra_desc | text | 有关参数的额外的,更详细的信息 | |
context | text | 设置这个参数的值要求的环境 | |
vartype | text | 参数类型(bool, integer, real, string) | |
source | text | 当前参数值的来源 | |
min_val | text | 该参数允许的最小值(非数字值为 NULL) | |
max_val | text | 这个参数允许的最大的数值(非数字值为 NULL) |
不能对 pg_settings 视图进行插入或者删除,但是可以更新。对 pg_settings 中的一行进行 UPDATE 等效于在该命名参数上执行 SET 命令。这个修改值影响当前会话使用的数值。如果在一个最后退出的事务中发出了 UPDATE 命令,那么 UPDATE 命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束,除非由其它的 UPDATE 或 SET 命令覆盖。