Skip to content

Aether Term (REPL)

ToolsCLIREPLScripting
Stable On by default · production-ready

Aether Term is the official command-line client for AetheriusDB and the shell used throughout Install and the Quickstart. It opens an interactive prompt, accepts SQL and AetherScript statements, and prints results in a familiar bordered-table layout.

If you have ever used psql, the experience is intentionally identical: tab-completion against the live catalog, persistent history across sessions, and a full set of slash-commands for inspecting tables and schemas. It starts instantly and stays responsive over slow links.

Where Aether Term goes beyond a classic SQL shell is in how it renders cube-shaped and tensor-shaped results. Instead of flattening everything to two dimensions, it detects when a query returns a multi-dimensional cube or a vector column and formats it hierarchically so the output stays readable.

DBAs and CI/CD pipelines need a client that is fast, predictable, and scriptable.

  • Familiar muscle memory — every \ command from psql has a working equivalent, so existing run-books port unchanged.
  • Lossless output — multi-dimensional and tensor results are not flattened or truncated; you see what the engine actually returned.
  • Headless mode-c for one-shot statements and stdin streaming for piping SQL from files or other tools.

Launching the shell connects to the local database by default. Once at the prompt you can mix interactive exploration with slash-commands, and use the same binary in scripts.

Terminal window
# Start an interactive session against the local node
aether-term

Inside the REPL, list tables, describe one, run a query, and quit:

-- List tables, then describe one
\dt
\d orders
-- Run a query; multi-dimensional output formats hierarchically
SELECT region, product, SUM(amount)
FROM sales
GROUP BY region, product;
-- Quit cleanly
\q

The same binary covers the three common modes — interactive exploration, one-shot from a shell pipeline, and bulk script execution from a file:

Terminal window
# Headless: one-shot statement, exits with a status code
aether-term -c "SELECT count(*) FROM orders"
# Stream a script file through stdin
cat migrate.sql | aether-term
ConceptWhat it does
Slash-commandA meta-command like \dt or \d that introspects the live catalog without writing SQL. Run \? to list them.
Headless modeNon-interactive use via -c or stdin; suitable for cron jobs and CI pipelines.
Hierarchical outputCube and tensor results print with structure preserved rather than collapsed to a flat grid.
History fileStatements persist across sessions in your home directory; up-arrow recall works as expected.

By default Aether Term connects to the local node. To reach a remote database, pass --host. The client automatically negotiates the fastest available transport — the native high-throughput path when the network allows it, and the PostgreSQL-compatible path when it does not — so a single command line works against a fresh local node, a hardened cloud cluster, or a laptop tunneling through a VPN. The active mode is shown in the prompt itself, so you always know which transport you are on.

Terminal window
# Default: auto-negotiate. The prompt indicates the chosen mode.
aether-term --host db.example.com
# AESQL (Native) >
# Force PostgreSQL-compatibility mode (skip the native probe)
aether-term --host db.example.com --protocol pgwire
# AESQL (Postgres Fallback) >
# Lock to native, fail loudly if it is blocked
aether-term --host db.example.com --protocol native --strict

Inspect the negotiated transport from inside the REPL with \conninfo.

FlagEffect
--host <ADDR>Connect to a remote database instead of the local node.
--protocol nativeUse the native high-throughput protocol.
--protocol pgwireUse the PostgreSQL-compatible protocol; works with any pgwire tool.
--strictRefuse to fall back. Fail loudly if the requested transport is unavailable.