# shutdown=true attribute

#### Function

Shuts down the specified database if you specify a databaseName. (Reconnecting to the database reboots the database.) For a database for which authentication and SQL authorization are both enabled, only the database owner can perform shutdown of that database. Please see "Enabling user authentication" and "Setting the SQL standard authorization mode" in the Java DB Developer's Guide for more information.

Shuts down the entire Derby system if and only if you do not specify a databaseName.

When you are shutting down a single database, it lets Derby perform a final checkpoint on the database.

When you are shutting down a system, it lets Derby perform a final checkpoint on all system databases, deregister the JDBC driver, and shut down within the JVM before the JVM exits. A successful shutdown always results in an SQLException indicating that Derby has shut down and that there is no connection. Once Derby is shut down, you can restart it by reloading the driver. For details on restarting Derby, see "Shutting down the system" in the Java DB Developer's Guide.

Checkpointing means writing all data and transaction information to disk so that no recovery needs to be performed at the next connection.

Used to shut down the entire system only when it is embedded in an application.
Note: Any request to the DriverManager with a shutdown=true attribute raises an exception.

#### Examples

    -- shut down entire system
    jdbc:derby:;shutdown=true
    -- shut down salesDB (authentication not enabled)
    jdbc:derby:salesDB;shutdown=true
    -- shut down an in-memory database using the embedded driver
    jdbc:derby:memory:myInMemDB;shutdown=true
    -- shut down an in-memory database using the Network Server
    jdbc:derby://localhost:1527/memory:myInMemDB;shutdown=true

Parent topic: Setting attributes for the database connection URL