aiondb-server
The standalone aiondb server binary. Boots aiondb-engine, the pgwire listener, the fragment transport listener, and an HTTP observability endpoint, then waits for shutdown signals. Single-node only in the v0.1 contract; persistent backends require LUKS/dm-crypt encryption unless AIONDB_ALLOW_UNENCRYPTED_STORAGE=true is set.
cargo
[dependencies]
# Used as a binary, not a library:
aiondb-server = { path = "../aiondb-server" }
binary
| Binary | Path |
|---|---|
aiondb | crates/aiondb-server/src/main.rs |
cli flags
The CLI is hand-parsed in parse_cli_args. Unknown arguments exit with an error.
| Flag | Description |
|---|---|
--help, -h | Print the help text and exit. |
--version, -V | Print the server version and exit. |
--ephemeral | Run fully in memory. Equivalent to --storage-backend in_memory. Test/development only. |
--listen-addr <host:port> | Pgwire listen address. Overrides AIONDB_PGWIRE_LISTEN_ADDR. Default 127.0.0.1:5432. |
--data-dir <path> | Directory for persistent storage state. Default ./data/aiondb, or AIONDB_STORAGE_DATA_DIR when set. Ignored under --ephemeral or an in-memory backend. |
--storage-backend <backend> | Select the storage backend. Values: in_memory, durable, disk, page_engine, lsm. Default durable (or AIONDB_STORAGE_BACKEND). |
--bootstrap-user <name> / --bootstrap-password <pwd> | Provision a local superuser at startup. Both flags must be passed together. Dev / CI / benchmark only. The password is validated against the security baseline (minimum 12 chars, mixed case, digit, symbol). |
--allow-unencrypted-storage | Allow a persistent backend on a non-encrypted filesystem. Same effect as AIONDB_ALLOW_UNENCRYPTED_STORAGE=true. |
--observability-bind <host> / --observability-port <port> | Override the HTTP observability endpoint bind/port. |
--no-observability | Disable the HTTP observability endpoint entirely. |
subcommands
| Command | Effect |
|---|---|
aiondb doctor --data-dir <path> | Inspect a data directory without opening it for writes. Prints storage-format version, corruption findings, WAL/snapshot/page status, and whether upgrade is possible. Read-only. |
aiondb upgrade --data-dir <path> | Create an idempotent storage-format v1 manifest. Refuses ambiguous or corrupt state and creates a backup before modifying the data directory. |
aiondb dump --data-dir <path> --output <relative.sql> | Canonical SQL dump. The output path is resolved relative to the data dir. |
aiondb restore --data-dir <path> --input <relative.sql> | Canonical SQL restore. Input path resolved relative to the data dir. |
environment variables
The full set of recognised keys lives in crates/aiondb-config/src/loader.rs (over 140 keys spanning storage, pgwire, security, limits, replication, HA, distributed control plane, and engine pool tuning). Setting AIONDB_CONFIG_STRICT=true makes unknown AIONDB_* keys fail loading; otherwise they are logged at warn and ignored.
The variables most commonly set on the server entry point: