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

Linuxパッケージインストール用のスタンドアロンPostgreSQL

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

GitLabアプリケーションサーバーとは別にデータベースサービスをホストしたい場合は、PostgreSQLバイナリとLinuxパッケージを組み合わせて使用できます。これは、当社のリファレンスアーキテクチャで最大40 RPSまたは2,000ユーザー向けの一部として推奨されています。

セットアップ

  1. SSHでPostgreSQLサーバーに接続します。

  2. GitLabダウンロードページの手順1と2を使用して、必要なLinuxパッケージをダウンロードしてインストールします。ダウンロードページの他の手順は完了しないでください。

  3. PostgreSQLのパスワードハッシュを生成します。これは、デフォルトのユーザー名であるgitlab(推奨)を使用していることを前提としています。コマンドは、パスワードと確認を要求します。次の手順で、このコマンドによって出力された値をPOSTGRESQL_PASSWORD_HASHの値として使用します。

    sudo gitlab-ctl pg-password-md5 gitlab
  4. /etc/gitlab/gitlab.rbを編集し、以下の内容を追加して、プレースホルダーの値を適切に更新します。

    • POSTGRESQL_PASSWORD_HASH - 前の手順からの出力値
    • APPLICATION_SERVER_IP_BLOCKS - データベースに接続するGitLabアプリケーションサーバーのIPサブネットまたはIPアドレスのスペース区切りリスト。例: %w(123.123.123.123/32 123.123.123.234/32)
    # Disable all components except PostgreSQL
    roles(['postgres_role'])
    prometheus['enable'] = false
    alertmanager['enable'] = false
    pgbouncer_exporter['enable'] = false
    redis_exporter['enable'] = false
    gitlab_exporter['enable'] = false
    
    postgresql['listen_address'] = '0.0.0.0'
    postgresql['port'] = 5432
    
    # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value
    postgresql['sql_user_password'] = 'POSTGRESQL_PASSWORD_HASH'
    
    # Replace XXX.XXX.XXX.XXX/YY with Network Address
    postgresql['trust_auth_cidr_addresses'] = %w(APPLICATION_SERVER_IP_BLOCKS)
    
    # Disable automatic database migrations
    gitlab_rails['auto_migrate'] = false
  5. 変更を有効にするため、GitLabを再設定します。

  6. PostgreSQLノードのIPアドレスまたはホスト名、ポート、およびプレーンテキストパスワードをメモしておきます。これらは、GitLabアプリケーションサーバーを後で設定する際に必要になります。

  7. モニタリングを有効にする

高度な設定オプションがサポートされており、必要に応じて追加できます。