> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# lightweight_* session settings

> ClickHouse session settings in the lightweight_* generated group.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Version", "Default value", "Comment"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Version history
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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](/reference/system-tables/settings) and are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<h2 id="lightweight_delete_mode">
  lightweight\_delete\_mode
</h2>

<SettingsInfoBlock type="LightweightDeleteMode" default_value="alter_update" />

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

A mode of internal update query that is executed as a part of lightweight delete.

Possible values:

* `alter_update` - run `ALTER UPDATE` query that creates a heavyweight mutation.
* `lightweight_update` - run lightweight update if possible, run `ALTER UPDATE` otherwise.
* `lightweight_update_force` - run lightweight update if possible, throw otherwise.

For `DELETE FROM ... ON CLUSTER`, each executing host derives the mode from its own settings, so
hosts whose profiles set different defaults can run the delete in different modes. A replicated
shard executes on one replica, so there it is that replica's settings that decide. Setting it in
the session of the initiating query overrides this, because the distributed DDL entry carries
session changes at `distributed_ddl_entry_format_version` 2 and above, which the default satisfies.
A host that constrains the setting clamps the value back.

<h2 id="lightweight_deletes_sync">
  lightweight\_deletes\_sync
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "2"},{"label": "The same as 'mutation_sync', but controls only execution of lightweight deletes"}]}]} />

The same as [`mutations_sync`](/reference/settings/session-settings/mutations#mutations_sync), but controls only execution of lightweight deletes.

Possible values:

| Value | Description |
| - | - |
| `0` | Mutations execute asynchronously. |
| `1` | The query waits for the lightweight deletes to complete on the current server. |
| `2` | The query waits for the lightweight deletes to complete on all replicas (if they exist). |
| `3` | The query waits only for the active replicas. Inactive replicas apply the lightweight deletes when they become active. |

**See Also**

* [Synchronicity of ALTER Queries](/reference/statements/alter/index#synchronicity-of-alter-queries)
* [Mutations](/reference/statements/alter/index#mutations)

Cloud default value: `1`.
