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

Skip to end of metadata
Go to start of metadata

These instructions will help you connect JIRA to a PostgreSQL 8.2+ database.

Note: A version of these instructions specific to Linux and JIRA Standalone is available.

1. Before You Begin

1.1 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.

1.2 Shut Down JIRA

2. Create and Configure the PostgreSQL Database

  1. Create a database user which JIRA will connect as (e.g. jiradbuser). (tick) Remember this database user name, as it will be used to configure JIRA's connection to this database in subsequent steps.
  2. Create a database for JIRA to store issues in (e.g. jiradb) with Unicode collation.
    Or from the command-line:
  3. Ensure that the user has permissions to connect to the database, and to create and write to tables in the database.
    (tick) Remember this database name, as it will be used to configure JIRA's connection to this database in subsequent steps.

3. Copy the PostgreSQL JDBC Driver to Your Application Server (JIRA WAR Only)

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

  1. Download the PostgreSQL JDBC driver from http://jdbc.postgresql.org/download.html. (Obtain version 8.4 of the JDBC 4 driver.)
  2. Add the PostgreSQL JDBC driver jar to the lib/ directory of your application server.

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

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

(info) Please Note:

4.1 Connecting JIRA to PostgreSQL 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 PostgreSQL using the JIRA Configuration Tool:

  1. Click the 'Database' tab.
  2. From the 'Database type' drop-down choose 'PostgreSQL'.
    (info) The JIRA Configuration Tool will display your current database configuration settings if any are already set.
  3. Fill in the connection details for your PostgreSQL database.
    • 'Hostname' — The name or IP address of the machine that the PostgreSQL server is installed on.
    • 'Port' — The TCP/IP port that the PostgreSQL server is listening on. You can leave this blank to use the default port.
    • 'Database' — The name of your PostgreSQL database (into which JIRA will save its data).
    • 'Username' — The user that JIRA uses to connect to the PostgreSQL server.
    • 'Password' — The user's password to authenticate with the PostgreSQL server.
    • 'Schema' — The name of the schema that your PostgreSQL database uses.
      (warning) Please ensure your database's schema name is lower-case as JIRA cannot work with PostgreSQL databases whose schema names contain upper-case characters.
  4. 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.
  5. After typing in your settings, click the 'Test Connection' button to test the connection settings. The tool will attempt to connect to the database, and give a message with the results.
  6. 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.
    • 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 PostgreSQL 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:

    Icon

    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.
    PostgreSQL 7.2 and later requires a schema to be specified in the <schema-name/> element. If your PostgreSQL database uses the default 'public' schema, this should be specified in the <schema-name/> element as shown below. Please ensure your database's schema name is lower-case as JIRA cannot work with PostgreSQL databases whose schema names contain upper-case characters.

    (warning) When editing your dbconfig.xml file, escape any '&' characters by adding 'amp;' to the end of each one.
  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.

5. Next steps

You should now have JIRA configured to connect to your PostgreSQL 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 PostgreSQL.