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

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

セットアップ

  1. PostgreSQLサーバにSSH接続します。
  2. GitLab downloads page からステップ 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. モニタリングの有効化

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