42.41. pg_settings

## 42.41. `pg_settings`

The view `pg_settings` provides access to run-time parameters of the server. It is essentially an alternative interface to the `SHOW` and `SET` commands. It also provides access to some facts about each parameter that are not directly available from `SHOW`, such as minimum and maximum values.

Table 42.41. `pg_settings` Columns

Name | Type | References | Description
--- | --- | --- | ---
`name` | `text` |  | run-time configuration parameter name
`setting` | `text` |  | current value of the parameter
`category` | `text` |  | logical group of the parameter
`short_desc` | `text` |  | a brief description of the parameter
`extra_desc` | `text` |  | additional, more detailed, information about the parameter
`context` | `text` |  | context required to set the parameter's value
`vartype` | `text` |  | parameter type (`bool`, `integer`, `real`, or `string`)
`source` | `text` |  | source of the current parameter value
`min_val` | `text` |  | minimum allowed value of the parameter (NULL for nonnumeric values)
`max_val` | `text` |  | maximum allowed value of the parameter (NULL for nonnumeric values)

The `pg_settings` view cannot be inserted into or deleted from, but it can be updated. An `UPDATE` applied to a row of `pg_settings` is equivalent to executing the SET command on that named parameter. The change only affects the value used by the current session. If an `UPDATE` is issued within a transaction that is later aborted, the effects of the `UPDATE` command disappear when the transaction is rolled back. Once the surrounding transaction is committed, the effects will persist until the end of the session, unless overridden by another `UPDATE` or `SET`.