正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

PostgreSQL拡張機能を管理する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

GitLabは、すべてのデータベースに特定のPostgreSQL拡張機能を必要とします。必須の拡張機能と最小限のGitLabバージョンのリストについては、PostgreSQLの要件を参照してください。

拡張機能をインストールするには、PostgreSQLにはスーパーユーザー権限が必要です。GitLabデータベースユーザーは通常スーパーユーザーではないため、GitLabをアップグレードする前に拡張機能を手動でインストールする必要があります。

必須の拡張機能をインストールする

  1. スーパーユーザーを使用してGitLab PostgreSQLデータベースに接続します。例:

    sudo gitlab-psql -d gitlabhq_production
  2. 拡張機能(この例ではbtree_gist)を、CREATE EXTENSIONを使用してインストールします:

    CREATE EXTENSION IF NOT EXISTS btree_gist
  3. インストールされている拡張機能を検証します:

    gitlabhq_production=# \dx

一部のシステムでは、特定の拡張機能を利用可能にするために、追加のパッケージ(例えばpostgresql-contrib)をインストールする必要がある場合があります。

pg_stat_statementsを有効にする

pg_stat_statementsは、遅いデータベースクエリのトラブルシューティングに推奨されます。これを有効にするには、スーパーユーザー権限とPostgreSQLの再起動が必要です。

  1. postgresql.confshared_preload_librariespg_stat_statementsを追加します。Linuxパッケージインストールの場合、以下を/etc/gitlab/gitlab.rbに追加します:

    postgresql['shared_preload_libraries'] = 'pg_stat_statements'
  2. PostgreSQLを再起動します。

  3. スーパーユーザーとして拡張機能を作成します:

    CREATE EXTENSION IF NOT EXISTS pg_stat_statements

詳細については、オプションのクエリ統計データを有効にするを参照してください。

トラブルシューティング

PostgreSQL拡張機能を使用しているときに、次の問題が発生する可能性があります。

拡張機能が不足しているため移行が失敗する

データベースの移行が、拡張機能が不足しているために失敗した場合は、スーパーユーザーとして手動でインストールし、その後移行を再実行します:

sudo gitlab-rake db:migrate