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.
Installation
Section titled “Installation”You can install the SlateDB CLI using Cargo. Run:
cargo install --locked slatedb-cliAlternatively, build from source by cloning the repository and compiling the CLI:
git clone https://github.com/slatedb/slatedb.gitcd slatedbcargo build --release -p slatedb-cliThe 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 the standalone compactor
Section titled “Run the standalone compactor”Run compaction as a standalone process (instead of inside your Db clients):
slatedb --env-file .env --path <db-path> run-compactorThe 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 the standalone garbage collector
Section titled “Run the standalone garbage collector”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:
slatedb --env-file .env --path <db-path> run-garbage-collection \ --resource compacted \ --min-age 5mValid 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:
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=1mThe 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.