> ## 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.

# /admin/verifydb

```
URL: http://<db.host>:<db.port>/admin/verifydb
```

Verify database is in a consistent state.  When inconsistencies or errors are
found, the verified\_ok flag in the response is set to false and the list of
errors found is provided in the error\_list.

## Input Parameter Description

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

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

  <Expandable title="options">
    <ParamField body="rebuild_on_error">
      \[DEPRECATED]  Use the Rebuild DB feature of GAdmin instead.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="verify_nulls">
      When *true*, verifies that null values are set to zero.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="verify_persist">
      When *true*, persistent objects will be compared against their state in memory and workers will be checked for orphaned table data in persist. To check for orphaned worker data, either set *concurrent\_safe* in input parameter *options* to *true* or place the database offline.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="concurrent_safe">
      When *true*, allows this endpoint to be run safely with other concurrent database operations. Other operations may be slower while this is running.

      The default value is `true`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="verify_rank0">
      If *true*, compare rank0 table metadata against workers' metadata.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="delete_orphaned_tables">
      If *true*, orphaned table directories found on workers for which there is no corresponding metadata will be deleted. It is recommended to run this while the database is offline OR set *concurrent\_safe* in input parameter *options* to *true*.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="verify_orphaned_tables_only">
      If *true*, only the presence of orphaned table directories will be checked, all persistence and table consistency checks will be skipped.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="table_includes">
      Comma-separated list of table names to include when verifying table consistency on wokers. Cannot be used simultaneously with *table\_excludes*.
    </ParamField>

    <ParamField body="table_excludes">
      Comma-separated list of table names to exclude when verifying table consistency on wokers. Cannot be used simultaneously with *table\_includes*.
    </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">
  'admin\_verify\_db\_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 /admin/verifydb endpoint:

  <Expandable title="data_str">
    <ResponseField name="verified_ok" type="boolean">
      True if no errors were found, false otherwise.

      The default value is `false`.
    </ResponseField>

    <ResponseField name="error_list" type="array of strings">
      List of errors found while validating the database internal state.

      The default value is an empty array ( \[] ).
    </ResponseField>

    <ResponseField name="orphaned_tables_total_size" type="long">
      If *verify\_persist* is *true*, *verify\_orphaned\_tables\_only* is *true* or *delete\_orphaned\_tables* is *true*, this is the sum in bytes of all orphaned tables found.  Otherwise, -1.
    </ResponseField>

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

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