Sonar Configuration PostgreSQL

De EjnTricks

La première installation de Sonar étudiée est basée sur MySql. Depuis la version 7.9, cette base n'est plus supportée et l'installation a été migrée sous PostgreSQL.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


User-icon.png Création du role PostgreSQL

Un rôle est mis en place spécifiquement pour l'application.

postgres=# CREATE ROLE sonar WITH LOGIN PASSWORD 'SONAR_PASSWORD' NOSUPERUSER NOCREATEDB;
CREATE ROLE


Icon-database-init.png Création de la base

Une nouvelle base est créée.

postgres=# CREATE DATABASE sonarqube WITH ENCODING 'UTF8' OWNER sonar;
CREATE DATABASE

SONAR_PASSWORD est remplacé par le mot de passe souhaité.

A noter que le rôle mis en place, dans ce cas, est le propriétaire de la nouvelle base. Aucune restriction ne sera appliqué à ce compte.


Icon-Configuration-Settings.png Configuration de la base de données

La dernière étape consiste à référencer ce compte au niveau de Sonar. Pour cela, il faut éditer le fichier <UNZIP_DIRECTORY>/conf/sonar.properties et éditer la section #----- PostgreSQL 9.3 or greater ainsi:

#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092


#----- Oracle 11g/12c/18c/19c
# The Oracle JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/.
# Only the thin client is supported, and we recommend using the latest Oracle JDBC driver. See
# https://jira.sonarsource.com/browse/SONAR-9758 for more details.
# If you need to set the schema, please refer to http://jira.sonarsource.com/browse/SONAR-5000
#sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE


#----- PostgreSQL 9.3 or greater
# By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube

Cela permet d'activer l'utilisation de PostgreSQL au lieu de la base Derby embarquée. Il faut ensuite renseigné le compte et le mot de passe utilisé pour se connecter à cette base de données, en reprenant la définition du compte déclaré dans la base

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
#sonar.jdbc.username=
#sonar.jdbc.password=
sonar.jdbc.username=sonar
sonar.jdbc.password=SONAR_PASSWORD