# groonga - An open-source fulltext search engine and column store.

- 日本語

# 7.1.1. `grndb`

## 7.1.1.1. Summary

Note

This executable command is an experimental feature.

New in version 4.0.9.

`grndb` manages a Groonga database.

Here are features:

> - Checks whether database is broken or not.
> - Recovers broken database automatically if the database is recoverable.

## 7.1.1.2. Syntax

`grndb` requires command and database path:

    grndb COMMAND [OPTIONS] DATABASE_PATH

Here are available commands:

> - `check` - Checks whether database is broken or not.
> - `recover` - Recovers database.

## 7.1.1.3. Usage

Here is an example to check the database at `/var/lib/groonga/db/db`:

    $ grndb check /var/lib/groonga/db/db

Here is an example to recover the database at `/var/lib/groonga/db/db`:

    $ grndb recover /var/lib/groonga/db/db

## 7.1.1.4. Commands

This section describes available commands.

### 7.1.1.4.1. `check`

It checks an existing Groonga database. If the database is broken, `grndb` reports reasons and exits with non-`0` exit status.

Note

You must not use this command for opened database. If the database is opened, this command may report wrong result.

### 7.1.1.4.2. `recover`

It recovers an existing broken Groonga database.

If the database is not broken, `grndb` does nothing and exits with `0` exit status.

If the database is broken and one or more index columns are only broken, `grndb` recovers these index columns and exists with `0` exit status. It may take a long time for large indexed data.

If the database is broken and tables or data columns are broken, `grndb` reports broken reasons and exits with non-`0` exit status. You can know whether the database is recoverable or not by `check` command.

Note

You must not use this command for opened database. If the database is opened, this command may break the database.