INFO
statement
The INFO
command outputs information about the setup of the SurrealDB system. There are a number of different INFO
commands for retrieving the configuration at the different levels of the database.
SurrealQL SyntaxINFO FOR [
ROOT
| NS | NAMESPACE
| DB | DATABASE
| TABLE @table
| USER @user [ON @level]
| SCOPE @scope
];
The information returned from an INFO
command is an object containing items that almost always correspond to a matching DEFINE statement. For example, the INFO FOR NS
command returns the information on the databases, tokens, and users of a namespace, which are defined with DEFINE DATABASE
, DEFINE TOKEN
, and DEFINE USER
statements.
Example usage
There are a number of different INFO
commands for retrieving the configuration at the different levels of the database.
System information
Root information
The top-level ROOT command returns information regarding the users and namespaces which exists within the SurrealDB system.
NOTE: You must be authenticated as a top-level root user to execute this command.
Examples
INFO FOR ROOT;
Sample output{
"namespaces": {
"ns": "DEFINE NAMESPACE ns"
},
"users": {
"example": "DEFINE USER example ON ROOT PASSHASH '$argon2id$v=19$m=19456,t=2,p=1$S8ggGUFSZY9B6+ZUJADNAw$jcFYLOrx1tq+/YlVk63QNZcP+VbsGD8lpFPvM59aZF4' ROLES OWNER"
}
}
Namespace information
The NS
or NAMESPACE
command returns information regarding the users, tokens, and databases under the namespace in use.
NOTE: You must be authenticated as a top-level root user, or a namespace user to execute this command.
NOTE: You must have a NAMESPACE selected before running this command.
Examples
INFO FOR NS;
Sample output{
"databases": {
"db": "DEFINE DATABASE db"
},
"tokens": {},
"users": {
"ns_user": "DEFINE USER ns_user ON NAMESPACE PASSHASH '$argon2id$v=19$m=19456,t=2,p=1$da30XYKIjHauYbW6CyqgXQ$4rnHoGa3itfY6LarGE/KwoZE+N+AXrydklDXUFUZXGQ' ROLES OWNER"
}
}
Database information
The DB
or DATABASE
command returns information regarding the users, tokens, scopes, tables, params, models, functions, and analyzers under the database in use.
NOTE: You must be authenticated as a top-level root user, a namespace user, or a database user to execute this command.
NOTE: You must have a NAMESPACE and a DATABASE selected before running this command.
Examples
INFO FOR DB;
Sample output{
"analyzers": {},
"functions": {},
"models": {},
"params": {},
"scopes": {},
"tables": {
"person": "DEFINE TABLE person TYPE ANY SCHEMALESS PERMISSIONS NONE"
},
"tokens": {},
"users": {
"db_user": "DEFINE USER db_user ON DATABASE PASSHASH '$argon2id$v=19$m=19456,t=2,p=1$FhgETjyVbEZmcLiCHf5fCA$zXOb8b0lIzIRrtaLPpWXHlWylC4VFBsfr4SWPF3WBKE' ROLES OWNER"
}
}
Table information
The TABLE
command returns information regarding the events, fields, tables, and live statement configurations on a specific table.
NOTE: You must be authenticated as a top-level root user, a namespace user, or a database user to execute this command.
NOTE: You must have a NAMESPACE and a DATABASE selected before running this command.
Examples
INFO FOR TABLE user;
Sample output{
"events": {},
"fields": {
"name": "DEFINE FIELD name ON user TYPE string PERMISSIONS FULL"
},
"indexes": {},
"lives": {},
"tables": {}
}
User information
The USER
command returns information for a user defined on either the root, namespace, or database level.
NOTE: You must be authenticated as a user equal to or greater than the level of the user you are attempting to obtain information for to execute this command.
Examples
INFO FOR USER root ON ROOT;
INFO FOR USER ns_user ON NAMESPACE;
INFO FOR USER db_user ON DATABASE;
If a level after ON
is not specified, the INFO
command will default to the database level. Thus, the following two commands are equivalent.
INFO FOR USER db_user ON DATABASE;
INFO FOR USER db_user;
Sample output"DEFINE USER db_user ON DATABASE PASSHASH '$argon2id$v=19$m=19456,t=2,p=1$LvgY4ZdWBt5YR+TXd6SNJg$INeqLI5l9vhDtkDGOR2otZMsJHQcT60HtBGgT6F5I9s' ROLES OWNER"
Scope information
The SCOPE
command returns information regarding the tokens defined under a specific scope.
NOTE: You must be authenticated as a top-level root user, a namespace user, or a database user to execute this command.
NOTE: You must have a NAMESPACE and a DATABASE selected before running this command.
Examples
INFO FOR SCOPE users;
Sample output{
"tokens": {
"example": "DEFINE TOKEN example ON SCOPE users TYPE HS512 VALUE 'example'",
"example2": "DEFINE TOKEN example2 ON SCOPE users TYPE HS512 VALUE 'another_example_token'",
}
}