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

# allow_experimental_* session settings

> ClickHouse session settings in the allow_experimental_* generated group.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Default</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Changeable without restart
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental feature. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">Learn more.</a></u>
        </div>;
};

These settings are available in [system.settings](/docs/reference/system-tables/settings) and are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<h2 id="allow_experimental_ai_functions">
  allow\_experimental\_ai\_functions
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "New setting"}]}]} />

Enable experimental AI functions (e.g. `aiGenerateContent`). These functions make external HTTP calls to AI providers.

<h2 id="allow_experimental_analyzer">
  allow\_experimental\_analyzer
</h2>

**Aliases**: `enable_analyzer`

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "Enable analyzer and planner by default."}]}]} />

Allow the analyzer.

<h2 id="allow_experimental_cleanup_old_data_files_compaction">
  allow\_experimental\_cleanup\_old\_data\_files\_compaction
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "New setting"}]}]} />

Allow to clean up old data files during Iceberg compaction.

<h2 id="allow_experimental_codecs">
  allow\_experimental\_codecs
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

If it is set to true, allow to specify experimental compression codecs (but we don't have those yet and this option does nothing).

<h2 id="allow_experimental_correlated_subqueries">
  allow\_experimental\_correlated\_subqueries
</h2>

<BetaBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Mark correlated subqueries support as Beta."}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Added new setting to allow correlated subqueries execution."}]}]} />

Allow to execute correlated subqueries.

<h2 id="allow_experimental_database_glue_catalog">
  allow\_experimental\_database\_glue\_catalog
</h2>

<BetaBadge />

**Aliases**: `allow_database_glue_catalog`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "Allow experimental database engine DataLakeCatalog with catalog_type = 'glue'"}]}]} />

Allow experimental database engine DataLakeCatalog with catalog\_type = 'glue'

Cloud default value: `1`.

<h2 id="allow_experimental_database_hms_catalog">
  allow\_experimental\_database\_hms\_catalog
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Allow experimental database engine DataLakeCatalog with catalog_type = 'hive'"}]}]} />

Allow experimental database engine DataLakeCatalog with catalog\_type = 'hms'

<h2 id="allow_experimental_database_iceberg">
  allow\_experimental\_database\_iceberg
</h2>

<BetaBadge />

**Aliases**: `allow_database_iceberg`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "New setting."}]}]} />

Allow experimental database engine DataLakeCatalog with catalog\_type = 'iceberg'

Cloud default value: `1`.

<h2 id="allow_experimental_database_materialized_postgresql">
  allow\_experimental\_database\_materialized\_postgresql
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Allow to create database with Engine=MaterializedPostgreSQL(...).

<h2 id="allow_experimental_database_paimon_rest_catalog">
  allow\_experimental\_database\_paimon\_rest\_catalog
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "New setting"}]}]} />

Allow experimental database engine DataLakeCatalog with catalog\_type = 'paimon\_rest'

<h2 id="allow_experimental_database_unity_catalog">
  allow\_experimental\_database\_unity\_catalog
</h2>

<BetaBadge />

**Aliases**: `allow_database_unity_catalog`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "Allow experimental database engine DataLakeCatalog with catalog_type = 'unity'"}]}]} />

Allow experimental database engine DataLakeCatalog with catalog\_type = 'unity'

Cloud default value: `1`.

<h2 id="allow_experimental_delta_kernel_rs">
  allow\_experimental\_delta\_kernel\_rs
</h2>

<BetaBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "New setting"}]}]} />

Allow experimental delta-kernel-rs implementation.

<h2 id="allow_experimental_delta_lake_writes">
  allow\_experimental\_delta\_lake\_writes
</h2>

<BetaBadge />

**Aliases**: `allow_delta_lake_writes`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Delta Lake writes were moved to Beta."}]}, {"id": "row-2","items": [{"label": "25.9"},{"label": "0"},{"label": "New setting."}]}]} />

Enables delta-kernel writes feature.

<h2 id="allow_experimental_eval_table_function">
  allow\_experimental\_eval\_table\_function
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "New setting to enable the experimental table function `eval`."}]}]} />

Enable experimental table function `eval`.

<h2 id="allow_experimental_expire_snapshots">
  allow\_experimental\_expire\_snapshots
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "New setting."}]}]} />

Allow to execute experimental Iceberg command `ALTER TABLE ... EXECUTE expire_snapshots`.

<h2 id="allow_experimental_funnel_functions">
  allow\_experimental\_funnel\_functions
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Enable experimental functions for funnel analysis.

<h2 id="allow_experimental_geo_types_in_iceberg">
  allow\_experimental\_geo\_types\_in\_iceberg
</h2>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "New setting to allow parsing Iceberg geometry\/geography fields as Geometry type."}]}]} />

Allow parsing Iceberg `geometry` and `geography` field types as ClickHouse `Geometry` (Variant) type.

<h2 id="allow_experimental_hash_functions">
  allow\_experimental\_hash\_functions
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Enable experimental hash functions

<h2 id="allow_experimental_iceberg_compaction">
  allow\_experimental\_iceberg\_compaction
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "New setting"}]}]} />

Allow to explicitly use 'OPTIMIZE' for iceberg tables.

<h2 id="allow_experimental_join_right_table_sorting">
  allow\_experimental\_join\_right\_table\_sorting
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "If it is set to true, and the conditions of `join_to_sort_minimum_perkey_rows` and `join_to_sort_maximum_table_rows` are met, rerange the right table by key to improve the performance in left or inner hash join"}]}]} />

If it is set to true, and the conditions of `join_to_sort_minimum_perkey_rows` and `join_to_sort_maximum_table_rows` are met, rerange the right table by key to improve the performance in left or inner hash join.

<h2 id="allow_experimental_json_lazy_type_hints">
  allow\_experimental\_json\_lazy\_type\_hints
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "New experimental setting for lazy JSON type hints"}]}]} />

Enable experimental lazy type hints for JSON type. This feature allows optimizing JSON type conversions by deferring type hint evaluation.

<h2 id="allow_experimental_kafka_offsets_storage_in_keeper">
  allow\_experimental\_kafka\_offsets\_storage\_in\_keeper
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "Allow the usage of experimental Kafka storage engine that stores the committed offsets in ClickHouse Keeper"}]}]} />

Allow experimental feature to store Kafka related offsets in ClickHouse Keeper. When enabled a ClickHouse Keeper path and replica name can be specified to the Kafka table engine. As a result instead of the regular Kafka engine, a new type of storage engine will be used that stores the committed offsets primarily in ClickHouse Keeper

<h2 id="allow_experimental_kusto_dialect">
  allow\_experimental\_kusto\_dialect
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "A new setting"}]}]} />

Enable Kusto Query Language (KQL) - an alternative to SQL.

<h2 id="allow_experimental_materialized_postgresql_table">
  allow\_experimental\_materialized\_postgresql\_table
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Allows to use the MaterializedPostgreSQL table engine. Disabled by default, because this feature is experimental

<h2 id="allow_experimental_nlp_functions">
  allow\_experimental\_nlp\_functions
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Enable experimental functions for natural language processing.

<h2 id="allow_experimental_nullable_tuple_type">
  allow\_experimental\_nullable\_tuple\_type
</h2>

<BetaBadge />

**Aliases**: `enable_nullable_tuple_type`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "New experimental setting"}]}]} />

Allows creation of [Nullable](/docs/reference/data-types/nullable) [Tuple](/docs/reference/data-types/tuple) columns in tables.

This setting does not control whether extracted tuple subcolumns can be `Nullable` (for example, from Dynamic, Variant, JSON, or Tuple columns).
Use `allow_nullable_tuple_in_extracted_subcolumns` to control whether extracted tuple subcolumns can be `Nullable`.

<h2 id="allow_experimental_object_storage_queue_hive_partitioning">
  allow\_experimental\_object\_storage\_queue\_hive\_partitioning
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "New setting."}]}]} />

Allow to use hive partitioning with S3Queue/AzureQueue engines

<h2 id="allow_experimental_paimon_storage_engine">
  allow\_experimental\_paimon\_storage\_engine
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "New setting."}]}]} />

Allow to create tables with Paimon\* table engines.

<h2 id="allow_experimental_parallel_reading_from_replicas">
  allow\_experimental\_parallel\_reading\_from\_replicas
</h2>

**Aliases**: `enable_parallel_replicas`

<SettingsInfoBlock type="UInt64" default_value="0" />

Use up to `max_parallel_replicas` the number of replicas from each shard for SELECT query execution. Reading is parallelized and coordinated dynamically. 0 - disabled, 1 - enabled, silently disable them in case of failure, 2 - enabled, throw an exception in case of failure

<h2 id="allow_experimental_polyglot_dialect">
  allow\_experimental\_polyglot\_dialect
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "New setting to enable the polyglot SQL transpiler dialect."}]}]} />

Enable polyglot SQL transpiler - transpiles SQL from 30+ dialects (MySQL, PostgreSQL, SQLite, Snowflake, DuckDB, etc.) into ClickHouse SQL.

<h2 id="allow_experimental_prql_dialect">
  allow\_experimental\_prql\_dialect
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "A new setting"}]}]} />

Enable PRQL - an alternative to SQL.

<h2 id="allow_experimental_time_series_aggregate_functions">
  allow\_experimental\_time\_series\_aggregate\_functions
</h2>

<ExperimentalBadge />

**Aliases**: `allow_experimental_ts_to_grid_aggregate_function`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "New setting to enable experimental timeSeries* aggregate functions."}]}]} />

Experimental timeSeries\* aggregate functions for Prometheus-like timeseries resampling, rate, delta calculation.

<h2 id="allow_experimental_time_series_table">
  allow\_experimental\_time\_series\_table
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "Added new setting to allow the TimeSeries table engine"}]}]} />

Allows creation of tables with the [TimeSeries](/docs/reference/engines/table-engines/integrations/time-series) table engine. Possible values:

* 0 — the [TimeSeries](/docs/reference/engines/table-engines/integrations/time-series) table engine is disabled.
* 1 — the [TimeSeries](/docs/reference/engines/table-engines/integrations/time-series) table engine is enabled.

<h2 id="allow_experimental_unique_key">
  allow\_experimental\_unique\_key
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "New setting to gate the experimental UNIQUE KEY clause on MergeTree-family tables"}]}]} />

Allows creation of tables with the `UNIQUE KEY` clause on MergeTree-family engines.

<h2 id="allow_experimental_url_wildcard_from_index_pages">
  allow\_experimental\_url\_wildcard\_from\_index\_pages
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "New setting to enable expanding wildcards in the `url` table function by listing HTTP index pages."}]}]} />

Allow experimental wildcard expansion for `url()` and `ENGINE = URL` from HTTP index pages.

<h2 id="allow_experimental_window_view">
  allow\_experimental\_window\_view
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

Enable WINDOW VIEW. Not mature enough.

<h2 id="allow_experimental_ytsaurus_dictionary_source">
  allow\_experimental\_ytsaurus\_dictionary\_source
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "New setting."}]}]} />

Experimental dictionary source for integration with YTsaurus.

<h2 id="allow_experimental_ytsaurus_table_engine">
  allow\_experimental\_ytsaurus\_table\_engine
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "New setting."}]}]} />

Experimental table engine for integration with YTsaurus.

<h2 id="allow_experimental_ytsaurus_table_function">
  allow\_experimental\_ytsaurus\_table\_function
</h2>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "New setting."}]}]} />

Experimental table engine for integration with YTsaurus.
