Skip to content

CLI

The SlateDB Admin CLI provides an interface for managing and maintaining SlateDB databases. It enables direct interaction with SlateDB manifests, checkpoints, and garbage collector.

You can install the SlateDB CLI using Cargo. Run:

cargo install --locked slatedb-cli

Alternatively, build from source by cloning the repository and compiling the CLI:

git clone https://github.com/slatedb/slatedb.git
cd slatedb
cargo build --release -p slatedb-cli

The resulting binary will be available at target/release/slatedb.

The CLI requires environment variables to configure access to your object store. You can set these variables in your shell environment or provide them via a .env file using the --env-file option. The required variables depend on your object store provider. See admin.rs for details.

Every command requires the --path option, which specifies the root directory in your object store.

Run the CLI with slatedb --help to see a list of available commands and options.

Run compaction as a standalone process (instead of inside your Db clients):

Terminal window
slatedb --env-file .env --path <db-path> run-compactor

The compactor runs until interrupted (Ctrl-C), then shuts down gracefully.

See Run a Standalone Compactor for how to disable the embedded compactor in your database clients.

Run garbage collection as a standalone process (instead of inside your Db clients).

For a single foreground pass over one file type, use run-garbage-collection:

Terminal window
slatedb --env-file .env --path <db-path> run-garbage-collection \
--resource compacted \
--min-age 5m

Valid resources are manifest, wal, wal-fence, compacted, and compactions.

To run garbage collection on a schedule in a standalone process, pass one or more schedules:

Terminal window
slatedb --env-file .env --path <db-path> schedule-garbage-collection \
--manifest min_age=5m,period=1m \
--wal min_age=5m,period=1m \
--compacted min_age=5m,period=1m \
--compactions min_age=5m,period=1m

The scheduled process runs until interrupted (Ctrl-C), then shuts down gracefully.

See Run a Standalone Garbage Collector for how to disable the embedded garbage collector in your database clients.