> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

> Use this reference to list Firebolt's public engine settings, their current values, and their defaults using information_schema.settings.

# Settings

<span className="feature-tag">Nightly Feature</span>

You can use the `information_schema.settings` view to list Firebolt's public engine settings together with their current values, defaults, types, and descriptions.

```sql theme={"theme":{"light":"css-variables","dark":"css-variables"}}
SELECT
  *
FROM
  information_schema.settings;
```

This view reports the public settings: the carefully curated set that Firebolt documents, supports, and keeps stable across releases. [System settings](/reference-sql/system-settings) describes what they do and how to change them.

The view has the same columns as [pg\_catalog.pg\_settings](/reference-sql/information-schema/pg_settings), with the same meaning per column, but reports only the public settings. `pg_catalog.pg_settings` reports every setting the engine defines, internal ones included, and so does [SHOW ALL](/reference-sql/commands/metadata/show-all). A name that returns no row here but a row from `pg_catalog.pg_settings` is an internal setting: its name and default change between releases, so treat it as an implementation detail rather than an interface.

The `setting` column holds the value in effect for the query that reads the view, so a value changed with `SET` earlier in the session is reflected there, while `boot_val` and `reset_val` keep reporting the default.

Every setting listed here can also be read one at a time, by name, with `current_setting`:

```sql theme={"theme":{"light":"css-variables","dark":"css-variables"}}
SELECT
  current_setting('max_result_rows');
```

Custom settings, meaning names the engine does not define, are not listed, and `current_setting` does not read them either.

## Columns

Each row describes one setting. Columns that Firebolt does not populate are always `NULL`; they exist so that the view keeps the shape Postgres clients expect from `pg_settings`.

| Column Name      | Data Type   | Description                                                                                                                                                                                                                                                       |
| :--------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name             | TEXT        | Name of the setting.                                                                                                                                                                                                                                              |
| setting          | TEXT        | Current value of the setting, as text.                                                                                                                                                                                                                            |
| unit             | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| category         | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| short\_desc      | TEXT        | Description of the setting.                                                                                                                                                                                                                                       |
| extra\_desc      | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| context          | TEXT        | Always `user`. Every listed setting can be changed for a session or a single query.                                                                                                                                                                               |
| vartype          | TEXT        | SQL type of the setting value: `boolean`, `bigint`, `real`, or `text`. A setting that only accepts a fixed set of names reports `enum`, and `enumvals` lists those names.                                                                                         |
| source           | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| min\_val         | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| max\_val         | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| enumvals         | ARRAY(TEXT) | Every value a setting with `vartype` `enum` accepts, in the order the engine declares them. `NULL` for all other settings. A few settings accept any comma-separated combination of the listed values rather than exactly one of them; their description says so. |
| boot\_val        | TEXT        | Default value of the setting, as text.                                                                                                                                                                                                                            |
| reset\_val       | TEXT        | Default value of the setting, as text.                                                                                                                                                                                                                            |
| sourcefile       | TEXT        | Always `NULL`.                                                                                                                                                                                                                                                    |
| sourceline       | INTEGER     | Always `NULL`.                                                                                                                                                                                                                                                    |
| pending\_restart | BOOLEAN     | Always `false`. Settings take effect immediately.                                                                                                                                                                                                                 |

## Example

Look up specific settings and compare their current values against the defaults:

```sql theme={"theme":{"light":"css-variables","dark":"css-variables"}}
SELECT
  name,
  setting,
  boot_val,
  vartype
FROM
  information_schema.settings
WHERE
  name IN ('enable_result_cache', 'max_result_rows', 'timezone')
ORDER BY
  name;
```

| name                  | setting | boot\_val | vartype |
| :-------------------- | :------ | :-------- | :------ |
| enable\_result\_cache | true    | true      | boolean |
| max\_result\_rows     | 0       | 0         | bigint  |
| timezone              | UTC     | UTC       | text    |
