EdgeDB interactive shell:
edgedb [connection-option...]
It’s also possible to run an EdgeQL script by piping it into the EdgeDB shell. The shell will then run in non-interactive mode and print all the responses into the standard output:
cat myscript.edgeql | edgedb [connection-option...]
edgedb
is a terminal-based front-end to EdgeDB. It allows running
queries and seeing results interactively.
Show help about the command and exit.
Show all available connection options
Print version.
Disable version check.
Specifies the named instance to connect to. The actual connection
parameters are stored in <edgedb_config_dir>/credentials
and are
usually created by edgedb instance create or similar
commands. Run edgedb info
to see the location of
<edgedb_config_dir>
on your machine.
This option overrides host and port.
Specifies the DSN for EdgeDB to connect to.
This option overrides all other options except password.
Path to JSON file containing credentials.
Specifies the host name of the machine on which the server is running.
Defaults to the value of the EDGEDB_HOST
environment variable.
Specifies the TCP port on which the server is listening for connections.
Defaults to the value of the EDGEDB_PORT
environment variable or,
if not set, to 5656
.
Connect to the database as the user username.
Defaults to the value of the EDGEDB_USER
environment variable, or,
if not set, to the login name of the current OS user.
Specifies the name of the database to connect to. Default to the value
of the EDGEDB_DATABASE
environment variable, or, if not set, to
the calculated value of username.
If --password is specified, force edgedb
to prompt
for a password before connecting to the database. This is usually not
necessary, since edgedb
will prompt for a password automatically
if the server requires it.
Specifying --no-password disables all password prompts.
Use the first line of standard input as the password.
Certificate to match server against.
This might either be full self-signed server certificate or certificate authority (CA) certificate that server certificate is signed with.
Set the TLS security mode.
default
Resolves to strict
if no custom certificate is supplied via
--tls-ca-file, environment variable, etc. Otherwise,
resolves to no_host_verification
.
strict
Verify TLS certificate and hostname.
no_host_verification
This allows using any certificate for any hostname. However, certificate must be present and match the root certificate specified with --tls-ca-file, credentials file, or system root certificates.
insecure
Disable all TLS security measures.
In case EdgeDB connection can’t be established, keep retrying up
to wait_time (e.g. 30s
).
Specifies a timeout period. In case EdgeDB
doesn’t respond for this period the command will fail (or retry if
--wait-until-available is also specified). The
timeout value must be given using time units
(e.g. hr
, min
, sec
, ms
, etc.). The default
value is 10s
.
The introspection commands share a few common options that are available to many of the commands:
-v
- Verbose
-s
- Show system objects
-c
- Case-sensitive pattern matching
Describe schema object specified by OBJECT-NAME.
Describe the entire schema.
List databases.
List scalar types.
List object types.
List roles.
List modules.
List expression aliases.
List available conversions between types.
List indexes.
Create a new database.
This backslash command is compatible with EdgeDB server 3.0 and above.
Run a query performance analysis on the given query.
Dump current database to a file at FILENAME.
Restore the database dump at FILENAME into the currently connected database.
Show a history of commands executed in the shell.
Spawn $EDITOR
to edit the most recent history entry or history entry N.
History entries are negative indexed with -1
being the most recent
command. Use the \history
command (above) to see previous command
indexes.
The output of this will then be used as input into the shell.
If VALUE is omitted, the command will show the current value of OPTION.
With VALUE, the option named by OPTION will be set to the provided value.
Use \set
with no arguments for a listing of all available options.
Connect to database DBNAME.
These migration commands are also accessible directly from the command line without first entering the EdgeDB shell. Their counterpart commands are noted and linked in their descriptions if you want more detail.
Create a migration script based on differences between the current database and the schema file, just like running edgedb migration create.
Apply your migration, just like running the edgedb migrate.
Spawn $EDITOR
on the last migration file and fixes the migration ID after
the editor exits, just like edgedb migration edit. This is
typically used only on migrations that have not yet been applied.
Show the migration history, just like edgedb migration log.
Show how the state of the schema in the EdgeDB instance compares to the migration stored in the schema directory, just like edgedb migration status.
Show help on backslash commands.
Quit the REPL. You can also do this by pressing Ctrl+D.