circle-exclamation
This version of the SonarQube documentation is no longer maintained. It relates to a version of SonarQube that is not active.

Database

Install the SonarQube Server database according to the database engine used: MicrosoftSQL Server, Oracle, PostgreSQL.

Supported database engines:

Database engine

Requirement

PostgreSQL

Version: 13 to 17

Microsoft SQL Server

Version:

• 2022 (MSSQL Server 16.0); 2019 (MSSQL Server 15.0); 2017 (MSSQL Server 14.0); 2016 (MSSQL Server 13.0).

• With bundled Microsoft JDBC driver.

Notes:

• Express Edition is supported.

• Windows and SQL Server authentication are both supported.

Oracle

Version: 23ai, 21C, 19C, XE Editions.

Recommendation: Use the latest Oracle JDBC driver.

Notes:

• The driver ojdbc14.jar is not supported.

• Only the thin mode is supported, not OCI.

• Only MAX_STRING_SIZE=STANDARD parameter is supported, not EXTENDED.

• Must be configured to use a UTF8-family charset (see the NLS_CHARACTERSET).

• The Oracle JDBC driver versions 12.1.0.1 and 12.1.0.2 have major bugs, and are not recommended for use with SonarQube Server (see more details).

H2

Recommendation: Use the H2 embedded database for non-production use cases:

• Development/Testing: H2 is ideal for quick prototypes, unit or integration tests, or CI/CD pipelines due to its lightweight setup.

• Trials: H2 allows users to try SonarQube without configuring a full database setup like PostgreSQL, Oracle, or MS SQL.

Why avoid H2 in production:

• Scalability Limits: H2 cannot handle high transaction volumes or concurrent users.

• Data Risks: In-memory mode risks data loss; file-based mode lacks robust durability.

• Concurrency Issues: H2 struggles with heavy concurrent access, which could cause slowdowns or deadlocks.

• Limited Features: H2 lacks replication, high availability, advanced security, or robust backups.

• SQL Compatibility: H2 may differ from production databases, risking transition issues.

Use PostgreSQL, Oracle, or MS SQL for production to ensure reliability and scalability. Limit H2 to development, testing, or trials.

circle-info

We recommend that for production installation, the database used by SonarQube Server is hosted on a machine that is physically separate from the SonarQube Server host, with low latency between both hosts.

Last updated

Was this helpful?