# xSQL Command Line Options

> As explained in xSQL Startup Options there are a variety of configuration parameters that determine xSQL behavior. The following table defines the options that can be specified on the command line.

> Note that command line options have precedence over the configuration file parameters. So an option present in the configuration file will be overridden by any value specified for that option on the command line.

> -option [<value>] | Meaning
> --- | ---
> -c <config_file> | Use the specified configuration file for startup options
> -f <sql_script> | Execute the specified SQL script after connecting to or creating the database
> -x <sql statements> | Execute the following SQL statement(s) specified between double quotes after connecting to or creating the database. Multiple statements should be separated by the semicolon. For example:
>       ./xsql -x "create table t(dt date);insert into t value
>       ('1/1/2000 10:15:0');select * from t"
> -shared | Force use of the shared memory runtime
> -conv | Force use of the conventional memory runtime
> -mvcc | Use the `MVCC` transaction manager
> -mursiw | Use the `MURSIW` transaction manager
> -memory | Use the in-memory only runtime
> -disk | Use the disk (persistent media) runtime
> -logtype <type> | Database logging method (no/redo/undo)
> -debug | Use the debug runtime version
> -release | Use the release runtime version
> -i | Use interactive mode
> -b | Use batch mode (exit after execution of SQL scripts)
> -p <port> | Start as server on the specified port
> -time | Measure and report execution time
> -trace | Switch on SQL engine trace
> -user | Login username when password protection is required
> -password | Login password when password protection is required
> -recovery | Restore remote access to an “orphaned” database
> -daemon | Force to use daemon mode

> ## Options for creating a new database:

> -option [<value>] | Meaning
> --- | ---
> -dbname <name> | Database name
> -size <dbsize> | Size of the in-memory part of the database
> -page <size> | Size of an in-memory page in bytes
> -cache <csize> | Size of the disk cache
> -path <dbfile> | Persistent database file name
> -log <logfile> | Log file name
> -recovery | Run sniffer on startup to cleanup a shared memory database