> ## 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_suspicious_* session settings

> ClickHouse session settings in the allow_suspicious_* 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>;
};

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_suspicious_codecs">
  allow\_suspicious\_codecs
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.5"},{"label": "0"},{"label": "Don't allow to specify meaningless compression codecs"}]}]} />

If it is set to true, allow to specify meaningless compression codecs.

<h2 id="allow_suspicious_fixed_string_types">
  allow\_suspicious\_fixed\_string\_types
</h2>

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

In CREATE TABLE statement allows creating columns of type FixedString(n) with n > 256. FixedString with length >= 256 is suspicious and most likely indicates a misuse

<h2 id="allow_suspicious_indices">
  allow\_suspicious\_indices
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "0"},{"label": "If true, index can defined with identical expressions"}]}]} />

Reject primary/secondary indexes and sorting keys with identical expressions

<h2 id="allow_suspicious_low_cardinality_types">
  allow\_suspicious\_low\_cardinality\_types
</h2>

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

Allows or restricts using [LowCardinality](/docs/reference/data-types/lowcardinality) with data types with fixed size of 8 bytes or less: numeric data types and `FixedString(8_bytes_or_less)`.

For small fixed values using of `LowCardinality` is usually inefficient, because ClickHouse stores a numeric index for each row. As a result:

* Disk space usage can rise.
* RAM consumption can be higher, depending on a dictionary size.
* Some functions can work slower due to extra coding/encoding operations.

Merge times in [MergeTree](/docs/reference/engines/table-engines/mergetree-family/mergetree)-engine tables can grow due to all the reasons described above.

Possible values:

* 1 — Usage of `LowCardinality` is not restricted.
* 0 — Usage of `LowCardinality` is restricted.

<h2 id="allow_suspicious_primary_key">
  allow\_suspicious\_primary\_key
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Forbid suspicious PRIMARY KEY\/ORDER BY for MergeTree (i.e. SimpleAggregateFunction)"}]}]} />

Allow suspicious `PRIMARY KEY`/`ORDER BY` for MergeTree (i.e. SimpleAggregateFunction).

<h2 id="allow_suspicious_ttl_expressions">
  allow\_suspicious\_ttl\_expressions
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "0"},{"label": "It is a new setting, and in previous versions the behavior was equivalent to allowing."}]}]} />

Reject TTL expressions that don't depend on any of table's columns. It indicates a user error most of the time.

<h2 id="allow_suspicious_types_in_group_by">
  allow\_suspicious\_types\_in\_group\_by
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "Don't allow Variant\/Dynamic types in GROUP BY by default"}]}]} />

Allows or restricts using [Variant](/docs/reference/data-types/variant) and [Dynamic](/docs/reference/data-types/dynamic) types in GROUP BY keys.

<h2 id="allow_suspicious_types_in_order_by">
  allow\_suspicious\_types\_in\_order\_by
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "Don't allow Variant\/Dynamic types in ORDER BY by default"}]}]} />

Allows or restricts using [Variant](/docs/reference/data-types/variant) and [Dynamic](/docs/reference/data-types/dynamic) types in ORDER BY keys.

<h2 id="allow_suspicious_variant_types">
  allow\_suspicious\_variant\_types
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "Don't allow creating Variant type with suspicious variants by default"}]}]} />

In CREATE TABLE statement allows specifying Variant type with similar variant types (for example, with different numeric or date types). Enabling this setting may introduce some ambiguity when working with values with similar types.
