doc-locale/fr-fr/administration/postgresql/extensions.md
{{< details >}}
{{< /details >}}
GitLab nécessite des extensions PostgreSQL spécifiques dans chaque base de données. Pour la liste des extensions requises et les versions minimales de GitLab, consultez Exigences PostgreSQL.
Pour installer des extensions, PostgreSQL nécessite des privilèges de superutilisateur. L'utilisateur de la base de données GitLab n'est généralement pas un superutilisateur, vous devez donc installer les extensions manuellement avant de mettre à niveau GitLab.
Connectez-vous à la base de données PostgreSQL de GitLab en tant que superutilisateur, par exemple :
sudo gitlab-psql -d gitlabhq_production
Installez l'extension (btree_gist dans cet exemple) en utilisant CREATE EXTENSION :
CREATE EXTENSION IF NOT EXISTS btree_gist
Vérifiez les extensions installées :
gitlabhq_production=# \dx
Sur certains systèmes, vous devrez peut-être installer un package supplémentaire (par exemple, postgresql-contrib) pour que certaines extensions soient disponibles.
pg_stat_statements est recommandé pour résoudre les problèmes de requêtes de base de données lentes. Son activation nécessite des privilèges de superutilisateur et un redémarrage de PostgreSQL.
Ajoutez pg_stat_statements à shared_preload_libraries dans postgresql.conf. Pour les installations avec le package Linux, ajoutez ce qui suit à /etc/gitlab/gitlab.rb :
postgresql['shared_preload_libraries'] = 'pg_stat_statements'
Redémarrez PostgreSQL.
Créez l'extension en tant que superutilisateur :
CREATE EXTENSION IF NOT EXISTS pg_stat_statements
Pour plus d'informations, consultez Activer les données statistiques de requêtes optionnelles.
Lorsque vous travaillez avec des extensions PostgreSQL, vous pourriez rencontrer le problème suivant.
Si une migration de base de données échoue parce qu'une extension est manquante, installez-la manuellement en tant que superutilisateur, puis relancez les migrations :
sudo gitlab-rake db:migrate