Embedded database should be used for evaluation purposes only

When I deployed SonarQube on Kubernetes, the bottom layer used PostgreSQL, but it didn’t seem to take effect in the end. SonarQube’s Database also used the default h2. This is my yaml file. Please help me look at the reason. Thank you!



You may have missed that the environment variables prefixed with SONARQUBE_ no longer work (and your instance is falling back on the internal H2 database). This is noted in this upgrade note:

Release 9.9 upgrade notes

Docker images updated

  • The deprecated SONARQUBE_JDBC_USERNAME, SONARQUBE_JDBC_PASSWORD, and SONARQUBE_JDBC_URL variables have been removed. See Environment variables for up-to-date configuration variables.

You will need to use SONAR_JDBC_USERNAME, SONAR_JDBC_URL, AND SONAR_JDBC_PASSWORD instead.

Thank you very much, SonarQube can now connect to the database normally.

1 Like