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

# /alter/wal

```
URL: http://<db.host>:<db.port>/alter/wal
```

Alters table write-ahead log (WAL) settings. Returns information about the
requested table WAL modifications.

## Input Parameter Description

<ParamField body="table_names" type="array of strings">
  List of tables to modify. An asterisk changes the system settings.
</ParamField>

<ParamField body="options" type="map of string to strings">
  Optional parameters.

  The default value is an empty map ( \{} ).

  <Expandable title="options">
    <ParamField body="max_segment_size">
      Maximum size of an individual segment file.
    </ParamField>

    <ParamField body="segment_count">
      Approximate number of segment files to split the WAL across. Must be at least two.
    </ParamField>

    <ParamField body="sync_policy">
      Maximum size of an individual segment file.

      * **none**: Disables the WAL.
      * **background**: WAL entries are periodically written instead of immediately after each operation.
      * **flush**: Protects entries in the event of a database crash.
      * **fsync**: Protects entries in the event of an OS crash.
    </ParamField>

    <ParamField body="flush_frequency">
      Specifies how frequently WAL entries are written with background sync. This is a global setting and can only be used with the system \{options.table\_names} specifier '\*'.
    </ParamField>

    <ParamField body="checksum">
      If *true* each entry will be checked against a protective checksum.

      The default value is `true`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="override_non_default">
      If *true* tables with unique WAL settings will be overridden when applying a system level change.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="restore_system_settings">
      If *true* tables with unique WAL settings will be reverted to the current global settings. Cannot be used in conjunction with any other option.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="persist">
      If *true* and a system-level change was requested, the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications.

      The default value is `true`.

      The supported values are:

      * true
      * false
    </ParamField>
  </Expandable>
</ParamField>

## Output Parameter Description

The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query.  Here is a description of the various fields of the wrapper:

<ResponseField name="status" type="String">
  'OK' or 'ERROR'
</ResponseField>

<ResponseField name="message" type="String">
  Empty if success or an error message
</ResponseField>

<ResponseField name="data_type" type="String">
  'alter\_wal\_response' or 'none' in case of an error
</ResponseField>

<ResponseField name="data" type="String">
  Empty string
</ResponseField>

<ResponseField name="data_str" type="JSON or String">
  This embedded JSON represents the result of the /alter/wal endpoint:

  <Expandable title="data_str">
    <ResponseField name="info" type="map of string to strings">
      Additional information.
    </ResponseField>
  </Expandable>

  Empty string in case of an error.
</ResponseField>
