wt(3)

NAME
wtWiredTiger command line utility
 - WiredTiger includes a command line utility, wt.

SYNOPSIS

wt [-LRVv] [-C config] [-E secretkey ] [-h directory] command [command-specific arguments]

DESCRIPTION

The wt tool is a command-line utility that provides access to various pieces of the WiredTiger functionality.

OPTIONS

There are several global options:

-C config
    Specify configuration strings for the wiredtiger_open function.

-E secretkey
    Specify an encryption secret key for the wiredtiger_open function.

-h directory
    Specify a database home directory.

-L
    Forcibly turn off logging subsystem for debugging purposes.

-R
    Run recovery if the underlying database is configured to do so.

-V
    Display WiredTiger version and exit.

-v
    Set verbose output.

Unless otherwise described by a wt command, the wt tool exits zero on success and non-zero on error.

The wt tool supports several commands. If configured in the underlying database, some commands will run recovery when opening the database. If the user wants to force recovery on any command, use the -R option. In general, commands that modify the database or tables will run recovery by default and commands that only read data will not run recovery.

wt alter

Alter a table.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] alter uri configuration ...

The uri and configuration pairs may be specified to the alter command. These configuration pairs can be used to modify the configuration values from those passed to the WT_SESSION::create call.

The uri part of the configuration pair should match only one of the objects being altered, but may be a prefix of the object being matched. For example, the following two sets of configuration pairs are equivalent in the case of altering a single table named xxx.

table access_pattern_hint=sequential
table:xxx access_pattern_hint=sequential

It's an error, however, to specify a matching prefix that matches more than a single object being altered.

Multiple configuration arguments may be specified. For example, the following two sets of configuration pairs are equivalent:

table:xxx access_pattern_hint=random,cache_resident=false
table:xxx access_pattern_hint=random table:xxx cache_resident=false

wt backup

Perform a backup of a database or set of data sources.

The backup command performs a backup of the database, copying the underlying files to a specified directory, which can be subsequently opened as a WiredTiger database. See Backups for more information, and File permissions for specifics on the copied file permissions.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] backup [-t uri] directory

  Options
The following are command-specific options for the backup command:

-t uri
    By default, the backup command does a backup of the entire database; the -t option changes the backup command to do a backup of only the named data sources.

wt compact

Compact a table.

The compact command attempts to rewrite the specified table to consume less disk space.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] compact uri

  Options
The compact command has no command-specific options.

wt create

Create a table.

The create command creates the specified uri with the specified configuration. It is equivalent to a call to WT_SESSION::create with the specified string arguments.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] create [-c config] uri

  Options
The following are command-specific options for the create command:

-c
    Include a configuration string to be passed to WT_SESSION::create.

wt drop

Drop a table.

The drop command drops the specified uri. It is equivalent to a call to WT_SESSION::drop with the 'force' configuration argument.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] drop uri

  Options
The drop command has no command-specific options.

wt dump

Export data in a text format.

The dump command outputs the specified table in a portable format which can be re-loaded into a new table using the load command.

See Dump Formats for details of the dump file formats.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] dump [-jrx] [-c checkpoint] [-f output] uri

  Options
The following are command-specific options for the dump command:

-c
    By default, the dump command opens the most recent version of the data source; the -c option changes the dump command to open the named checkpoint.

-f
    By default, the dump command output is written to the standard output; the -f option re-directs the output to the specified file.

-j
    Dump in JSON (JavaScript Object Notation) format.

-r
    Dump in reverse order, from largest key to smallest.

-x
    Dump all characters in a hexadecimal encoding (the default is to leave printable characters unencoded).

wt list

List the tables in the database.

By default, the list command prints out the tables stored in the database. If a URI is specified as an argument, only information about that data source is printed.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] list [-cv] [uri]

  Options
The following are command-specific options for the list command:

-c
    If the -c option is specified, the data source's checkpoints are printed in a human-readable format.

-v
    If the -v option is specified, the data source's complete schema table value is printed.

wt load

Load a table from dump output.

The load command reads the standard input for data and loads it into a table, creating the table if it does not yet exist. The data should be the format produced by the dump command; see Dump Formats for details.

By default, if the table already exists, data in the table will be overwritten by the new data (use the -n option to make an attempt to overwrite existing data return an error).

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] load [-ajn] [-f input] [-r name] [uri configuration ...]

  Options
The following are command-specific options for the load command:

-a
    If the -a option is specified, record number keys in the input are ignored and the data is appended to the data source and assigned new record number keys. The -a option is only applicable when loading into a column store.

-f
    By default, the load command reads from the standard input; the -f option reads the input from the specified file.

-j
    Load input in the JSON (JavaScript Object Notation) format that was created by the dump -j command.

-n
    By default, input data will overwrite existing data where the key/value pair already exists in the data source; the -n option causes the load command to fail if there's an attempt to overwrite already existing data.

-r
    By default, the load command uses the table name taken from the input; the -r option renames the data source.

Additionally, uri and configuration pairs may be specified to the load command. These configuration pairs can be used to modify the configuration values from the dump header passed to the WT_SESSION::create call.

The uri part of the configuration pair should match only one of the objects being loaded, but may be a prefix of the object being matched. For example, the following two sets of configuration pairs are equivalent in the case of loading a single table named xxx.

table block_allocation=first
table:xxx block_allocation=first

It's an error, however, to specify a matching prefix that matches more than a single object being loaded.

Multiple configuration arguments may be specified. For example, the following two sets of configuration pairs are equivalent:

table:xxx block_allocation=first,prefix_compress=false
table:xxx block_allocation=first table:xxx prefix_compress=false

wt loadtext

Load text into a table.

The loadtext command reads the standard input for text and loads it into a table. The input data should be printable characters, with newline delimiters for each key or value.

The loadtext command does not create the object if it does not yet exist.

In the case of inserting values into a column-store table, each value is appended to the table; in the case of inserting values into a row-store table, lines are handled in pairs, where the first line is the key and the second line is the value. If the row-store table already exists, data in the table will be overwritten by the new data.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] loadtext [-f input] uri

  Options
The following are command-specific options for the loadtext command:

-f
    By default, the loadtext command reads from the standard input; the -f option reads the input from the specified file.

wt printlog

Display the database log.

The printlog command outputs the database log.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] printlog [-x] [-f output]

  Options
The following are command-specific options for the printlog command:

-f
    By default, the printlog command output is written to the standard output; the -f option re-directs the output to the specified file.

-x
    Keys and value items in the log are printed in hex format in addition to the default string format.

wt read

Read records from a table.

The read command prints out the records associated with the specified keys from the specified data source. The data source must be configured with string or record number keys and string values.

The read command exits non-zero if a specified record is not found.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] read uri key ...

  Options
The read command has no command-specific options.

wt rename

Rename a table.

The rename command renames the specified table.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] rename uri name

  Options
The rename command has no command-specific options.

wt salvage

Recover data from a corrupted table.

The salvage command salvages the specified data source, discarding any data that cannot be recovered. Underlying files are re-written in place, overwriting the original file contents.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] salvage [-F] uri

  Options
The following are command-specific options for the salvage command:

-F
    By default, salvage will refuse to salvage tables that fail basic tests (for example, tables that don't appear to be in a WiredTiger format). The -F option forces the salvage of the table, regardless.

wt stat

Display database or data source statistics.

The stat command outputs run-time statistics for the WiredTiger engine, or, if specified, for the URI on the command-line.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] stat [-f] [uri]

  Options
The following are command-specific options for the stat command:

-f
    Include only 'fast' statistics in the output (equivalent to passing statistics=(fast)) to WT_SESSION::open_cursor.

wt truncate

Truncate a table, removing all data.

The truncate command truncates the specified uri. It is equivalent to a call to WT_SESSION::truncate with no start or stop specified.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] truncate uri

  Options
The truncate command has no command-specific options.

wt upgrade

Upgrade a table.

The upgrade command upgrades the specified table, exiting success if the data source is up-to-date, and failure if the data source cannot be upgraded.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] upgrade uri

  Options
The upgrade command has no command-specific options.

wt verify

Check the structural integrity of a table.

The verify command verifies the specified table, exiting success if the data source is correct, and failure if the data source is corrupted.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] verify uri

  Options
The verify command has no command-specific options.

wt write

Write records to a table.

The write command stores records into the specified data source. The data source must be configured with string or record number keys and string values.

If the write command is called with the -a option, each command-line argument is a single value to be appended to the specified column-store data source. If the write command is not called with the -a option, the command-line arguments are key/value pairs.

Attempting to overwrite an already existing record will fail.

  Synopsis
wt [-RVv] [-C config] [-E secretkey ] [-h directory] write -a uri value ...
 wt [-RVv] [-C config] [-E secretkey ] [-h directory] write [-o] uri key value ...

  Options
The following are command-specific options for the write command:

-a
    Append each value as a new record in the data source.

-o
    By default, attempting to overwrite an already existing record will fail. The -o option changes write to overwrite previously existing records.