Database Collation health check fails with PostgreSQL in Jira server
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
About the Health Check
More about this Health Check.
Understanding the Results
Icon | Result | What this means |
---|---|---|
The database collation '<collation>' and table collation '<collation>' are supported by JIRA. A limited number of circumstances could cause unexpected results. | The database is configured using a supported collation. | |
The database collation '<collation>' and table collation '<collation>' are not supported by JIRA. A limited number of circumstances could cause unexpected results. | The JIRA instance is using an unsupported configuration. See the Resolution section for steps on how to resolve this issue. | |
The database collation '<collation>' is unsupported by JIRA. The table collation '<collation>' is supported by JIRA. A limited number of circumstances could cause unexpected results. | The JIRA instance is using an unsupported configuration. See the Resolution section for steps on how to resolve this issue. | |
The table collation '<collation>' is unsupported by JIRA. The database collation '<collation>' is supported by JIRA. A limited number of circumstances could cause unexpected results. | The JIRA instance is using an unsupported configuration. See the Resolution section for steps on how to resolve this issue. |
Resolution
To fix this, the database collation needs to be corrected. The best and recommended way to achieve this is:
- Create a new database with the required collation as per the appropriate documentation in Connecting the Jira application to a Database.
- Follow our Switching Databases documentation to migrate JIRA from the old databases (with the incorrect collation) to the new one, with the correct collation.
Supported Collations in PostgreSQL Database
Collation(s) | How to Verify Table Collations | How to Verify Database Collations |
---|---|---|
|
If a table collation is not set, 'DEFAULT' will be returned by this SQL, which the Health Check will accept. |
|
We should also check for Postgres Search Path. There are know cases where the path contains multiple schemas such that the first one on the list is not the Jira schema. For example:
jira=> show search_path ; search_path ──────────────── public, jiradb (1 row)
The above has two schemas on the path, with 'public' being the first one followed by 'jiradb' (the one used by Jira). The table collations query uses 'Current_schema()', which will return the first schema on the path, which is 'public'. If schema 'public' has no tables, then the query will return zero rows. If 'public' has tables, the query will return a collation, but it won't be the correct one either. So, we recommend setting the Search Path to include only the Jira schema.