# xSQL Miscellaneous Commands

> The following sections demonstrate a number of useful xSQL commands.

> ### For an overview see page xSQL Commands

> ## ha getmode

> When using xSQL as a eXtremeDB High Availability MASTER or REPLICA, the `ha getmode` displays the current HA role of the xSQL instance. For MASTER it also prints out the HA mode flags:

>         XSQL>ha getmode
>         Running in MASTER mode, options are : HOTSYNCH

> The corresponding function `xsql_ha_get_mode()` returns the sum of MCO_HAMODE_* flags when xSQL is running in MASTER mode, 0 when running in REPLICA mode.

> ## sleep

> As explained in the xSQL tutorial, it is sometimes useful to write a set of SQL statements in a script file, and then execute the script with the `script` command. But sometimes it may be necessary to pause for some small amount of time between SQL statements. For example, suppose we have a script file like the following that inserts a record on one cluster node and then queries data on another node to verify that the change has been propagated. Here a brief pause is required between those two lines which is implemented with the `sleep` command:

>         File test_sleep.sql

>         1:create table t(n int);
>         1:insert into t values([1,2,3]);
>         sleep 3

>         2:select * from t;

> ## echo

> When running script files it may be useful to display progress or status information during the execution of the script. The `echo [string]` command is provided for this purpose. It writes a string argument to standard output (similar to `echo` found in bash or any other UNIX shells). For example, the above `test_sleep` script could be modified as follows:

>         File test_sleep.sql

>         1:create table t(n int);
>         1:insert into t values([1,2,3]);
>         echo Sleep for 3 seconds

>         sleep 3;
>         2:select * from t;

> ## help

> The `help` command displays a brief syntax description of xSQL commands. For example:

>         XSQL>help
>         <sql-statement>';'       any valid SQL statement
>         dumplog <file-path>      Dump XSQL logs on the server side
>         xlog [bynode|byquery] [all]Show server's logs
>         cluster                  Cluster related commands
>         sleep                    Do sleep for N seconds
>         shutdown                 Shutdown database server
>         save <file-path>         Save database image to specified file
>         saveclass <file-path> <table-name>Save table content to the specified file
>         loadclass <file-path> [ <table-name> ]Load table content from the specified file
>         savemeta <file-path>     Save database metadata to specified file
>         savedict <file-path>     Save database dictionary to specified file
>         detach                   Do not close database on exit (leave it in shared memory)
>         backup <database-file-path> <log-file-path> <n-threads=1>Online backup of disk database to the specified files
>         mem [-b|-k|-m|-g|-t|-p]  Show memory usage in bytes (-b), Kb (-k, default), Mb (-m), Gb (-g), Tb (-t) or memory pages (-p)
>         memddl                   Show dictionary memory usage
>         exit                     Terminate interactive SQL session
>         pause                    Pause interactive SQL session
>         trace (on|off)           Toggle query execution trace
>         progress (on|off)        Show progress of query execution
>         input (<file>|console)   Redirect input from specified file
>         script <file-path>       Execute SQL script from specified file
>         output [<file>|console|null]Redirect output to specified file
>         logsession (on|off) [<file>]Save session to specified file
>         format (TEXT|HTML|XML|CSV [delimiter 'C'][header on|off]|LIST)Select query output format
>         dtformat FORMAT          Output date/time format (see strftime)
>         numformat FORMAT         Output real number format (see sprintf)
>         strformat width=<N>      Set width for string fields
>         seqformat {default|short|long} [<first> <last>]Output sequences format.
>         arrayformat {default|short|long} [<first> <last>]Output arrays format.
>         nullformat NULLSTR       String representation for null values
>         help                     Print supported commands
>         echo                     Print arguments
>         import TABLE CSV-FILE [(use|skip) header] [commit N]Import data from CSV file