pg_settings — PostgreSQL system view

The PostgreSQL pg_settings system view: full column reference (names, types, descriptions), catalog relationships and version support.

Summary

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.

(Description quoted from the official PostgreSQL documentation.)

Columns

The pg_settings system view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):

  • name text
    Run-time configuration parameter name
  • setting text
    Current value of the parameter
  • unit text
    Implicit unit 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, description of the parameter
  • context text
    Context required to set the parameter’s value (see below)
  • vartype text
    Parameter type (bool, enum, integer, real, or string)
  • source text
    Source of the current parameter value
  • min_val text
    Minimum allowed value of the parameter (null for non-numeric values)
  • max_val text
    Maximum allowed value of the parameter (null for non-numeric values)
  • enumvals text[]
    Allowed values of an enum parameter (null for non-enum values)
  • boot_val text
    Parameter value assumed at server startup if the parameter is not otherwise set
  • reset_val text
    Value that RESET would reset the parameter to in the current session
  • sourcefile text
    Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files
  • sourceline int4
    Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).
  • pending_restart bool
    true if the value has been changed in the configuration file but needs a restart; or false otherwise.

Version applicability

Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.

Related & references

Reference: PostgreSQL documentation — pg_settings.