Documentation for JIRA 4.4. Documentation for other versions of JIRA is available too.

Skip to end of metadata
Go to start of metadata

Please note:

Although HSQLDB is bundled with JIRA, we do not recommend it for production use. Please consider using one of the recommended databases instead. See Connecting JIRA to a Database for more information.

1. Before You Begin

Are You Migrating JIRA to Another Server?

If you are Migrating JIRA to Another Server, create an export of your data as an XML backup. You will then be able to transfer data from your old database to your new database, as described in Switching databases.

On this page:

2. Copy the HSQLDB Driver to Your Application Server (JIRA WAR Only)

(warning) Skip this step if you are using JIRA Standalone distribution. JIRA Standalone includes the HSQLDB JDBC driver.

  1. Download the HSQLDB JDBC driver — hsqldb-1.8.0.5.jar for JIRA 3.7+, or hsqldb-1.7.1-patched.jar for JIRA 3.6.5 and earlier. We strongly recommend upgrading to 3.7 if you wish to use hsqldb, as hsqldb 1.7.x is prone to data corruption.
  2. Add the HSQLDB JDBC driver jar to the lib/ directory.

4. Configure Your JIRA Server to Connect to Your HSQL Database

There are two ways to configure your JIRA server to connect to your HSQL database:

(info) Please Note:

4.1 Connecting JIRA to HSQLDB Using the JIRA Configuration Tool

(info) The JIRA Configuration Tool is only available with JIRA Standalone.

To start the JIRA Configuration Tool:

(info) Please Note: You may need to set the JAVA_HOME environment variable to run the JIRA Configuration Tool. See Installing Java for details.

To connect JIRA to HSQLDB using the JIRA Configuration Tool:

  1. Click the 'Database' tab.
  2. From the 'Database type' drop-down, choose 'HSQL'.
  3. JIRA keeps a pool of database connections open to the database server. You can set the maximum size of this pool in the 'Pool Size' text field.
  4. Click 'Save' to save your settings when you are done.
    (info) Please Note:
    • The JIRA Configuration Tool will save your database configuration to a dbconfig.xml file in your JIRA Home Directory. This tool also adds the following elements to this file, which are normally required when running JIRA with HSQLDB:
      <min-evictable-idle-time-millis>4000</min-evictable-idle-time-millis>
      <time-between-eviction-runs-millis>5000</time-between-eviction-runs-millis>
    • JIRA must be restarted for your new settings to take effect.

Congratulations — you have finished! Proceed to 'Next Steps' below.

4.2 Connecting JIRA to HSQLDB Manually

  1. Edit the dbconfig.xml file at the root of your JIRA Home Directory.
    (info) If this file does not exist, create the file, copy and paste the example XML code below into this file and edit the pasted XML as required.

    Please Note:

    Ensure that the <database-type/> element's content specifies your type of database, as shown below. If you forget to do this and you start JIRA, your database tables may be created incorrectly. Refer to our Incorrect database type specified documentation if this happens to you.

    (warning) When editing your dbconfig.xml file, escape any '&' characters by adding 'amp;' to the end of each one.
    <?xml version="1.0" encoding="UTF-8"?>
    
    <jira-database-config>
      <name>defaultDS</name>
      <delegator-name>default</delegator-name>
      <database-type>hsql</database-type>
      <schema-name>PUBLIC</schema-name>
      <jdbc-datasource>
        <url>jdbc:hsqldb:/path/to/jira/database/jiradb</url>
        <driver-class>org.hsqldb.jdbcDriver</driver-class>
        <username>sa</username>
        <password></password>
        <pool-size>15</pool-size>
        <min-evictable-idle-time-millis>4000</min-evictable-idle-time-millis>
        <time-between-eviction-runs-millis>5000</time-between-eviction-runs-millis>
      </jdbc-datasource>
    </jira-database-config>
    
    (minus) Please Note:
    • The following child elements of the <jdbc-datasource/> element are normally required when running JIRA with HSQLDB:
      <min-evictable-idle-time-millis>4000</min-evictable-idle-time-millis>
      <time-between-eviction-runs-millis>5000</time-between-eviction-runs-millis>
  2. Save your edited dbconfig.xml file (at the root of your JIRA Home Directory).
    (info) JIRA must be restarted for your new settings to take effect.

4.2 Next steps

You should now have JIRA configured to connect to your HSQL database.

  • If you are using JIRA Standalone, start it up and watch the logs for any errors.
  • If you are using the JIRA WAR distribution, rebuild and redeploy the webapp in your application server.

Installation notes

Please see JIRA and HSQL.