Jira アプリケーションの PostgreSQL への接続
1. PostgreSQL データベースを作成・設定する
リモート TCP 接続を承認する (リモート PostgreSQL サーバーのみ)
Jira をリモート PostgreSQL サーバーに接続する場合 (PostgreSQL サーバーが Jira サーバーのホスト システムでローカルにインストールされていない場合)、Jira サーバーの IP アドレスからのリモート TCP 接続を承認するよう、data/postgresql.conf
および data/pg_hba.conf
ファイルを構成する必要があります。
次の PostgreSQL ドキュメントには、postgresql.conf
ファイルや pg_hba.conf
ファイルで利用できる listen_addresses
の値についての情報が含まれています。
- PostgreSQL 11 ドキュメント — Connections and Authentication
- PostgreSQL 10 ドキュメント — Connections and Authentication
- PostgreSQL 9.6 ドキュメント — 接続と認証
data/postgresql.conf
および data/pg_hba.conf
ファイルを変更した後、PostgreSQL を再起動して変更を反映します。
お使いのバージョンの PostgreSQL 用にデータベースやデータベースを作成する
PostgreSQL のバージョンのユーザーやデータベースの作成に関する情報は、PostgreSQL の Web サイトに記載されています。
- Jira が接続するためのデータベース ユーザー (ログイン ロール) を作成します (例:
jiradbuser
)。
以降のステップにおいて Jira の接続を設定する際に利用されるため、このデータベース ユーザー名を覚えておく必要があります。 Unicode 照合を使用して課題を保存するための Jira 用データベースを作成します (例:
jiradb
)。
以降のステップにおいて Jira の接続を設定する際に利用されるため、このデータベース名を覚えておく必要があります。CREATE DATABASE jiradb WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
またはコマンドラインから
$ createdb -E UNICODE -l C -T template0 jiradb
ユーザーがデータベースに接続し、データベース中でテーブルを作成・追加できる権限を持っていることを確認します。
GRANT ALL PRIVILEGES ON DATABASE <Database Name> TO <Role Name>
権限が正常に付与されたことを検証するには、データベースに接続して「\z」コマンドを実行します。
最適な PostgreSQL パフォーマンスを達成して維持するには、毎日実行する保守タスクをスケジュールしてデータベースの統計を更新する必要があります。定期的な保守タスクのセットアップ方法は「Optimize and Improve PostgreSQL Performance with VACUUM, ANALYZE, and REINDEX (VACUUM、ANALYZE、REINDEX で PostgreSQL パフォーマンスを最適化して改善)」をご確認ください。
2. PostgreSQL データベースに接続するように Jira Server を設定する
Jira サーバーを PostgreSQL データベースに接続するには、2 つの方法があります。
- Jira セットアップ ウィザード を使用する — Jira をインストールした直後で、初めて Jira を設定する場合はこの方法を使用します。設定は、
dbconfig.xml
Jira ホーム ディレクトリのdbconfig.xml
ファイルに保存されます。 - Jira 設定ツール を使用する — 既存の Jira インスタンスがある場合はこの方法を使用します。設定は、Jira ホーム ディレクトリの
dbconfig.xml
ファイルに保存されます。
各設定手法の手順説明
Jira セットアップ ウィザード
ブラウザから初めて Jira にアクセスすると、Jira セットアップ ウィザード が表示されます。
- 最初の画面 の “Configure Language and Database” で、 “Database Connection” に My own database を選択します。
- “Database Type” を “SQL Server” に設定します。
- 下記の データベース接続関連フィールド を参照し、フィールド入力を行います。
- 接続をテストし、保存します。
Jira 設定ツール
- Jira 設定ツールを次のように実行します。
- Windows: コマンド プロンプトを開いて、Jira インストール ディレクトリの
bin
サブディレクトリにあるconfig.bat
を実行します。 Linux/Unix: コンソールを開いて、Jira インストール ディレクトリの
bin
サブディレクトリにあるconfig.sh
を実行します。このコマンドは「No X11 DISPLAY 変数が原因で Jira アプリケーション設定ツールを起動できなかったのは、設定エラーによるもの」に記載のエラーで失敗する場合があります。その場合は、この記事の回避策をご参照ください。
- Windows: コマンド プロンプトを開いて、Jira インストール ディレクトリの
- データベース タブへ進み、データベースの種類 を PostgreSQL に設定します。
- 下記の データベース接続関連フィールド を参照し、フィールド入力を行います。
- 接続をテストし、保存します。
- Jira を再起動します。
データベース接続フィールド
セットアップウィザード / 設定ツール | dbconfig.xml | 説明 |
---|---|---|
ホスト名 |
| PostgreSQL サーバーがインストールされている PC 名または IP アドレス。 |
ポート | <url> タグに配置されます (下記の例の太字部分):<url>jdbc:postgresql:// dbserver: 5432/jiradb</url> | PostgreSQL サーバがリッスンしている TCP/IP ポート。このフィールドが空の場合、デフォルト ポートが使用されます。 |
データベース | <url> タグに配置されます (下記の例の太字部分):<url>jdbc:postgresql:// dbserver:5432/ jiradb</url> | PostgreSQL データベースの名前 (Jira データの保存先)。上記 ステップ 1 で作成します。 |
ユーザ名 |
| PostgreSQL サーバーに接続するために JIRA が使用するユーザー。上記 ステップ 1 で作成済みのはずです。 |
パスワード | <password> タグに配置されます (下記の例の太字部分):<password> jiradbuser</password> | PostgreSQL サーバーとの認証に利用するユーザーのパスワード。 |
スキーマ | <schema-name> タグに配置されます (下記例の太字部分):<schema-name> public </schema-name> | PostgreSQL データベースが使用するスキーマ名。 PostgreSQL 7.2 以降の場合は、 カスタム スキームを使用すると課題が発生する可能性があるため、パブリック スキームを使用することをおすすめします。参照: JRASERVER-64886 |
dbconfig.xml ファイルのサンプル
上記の dbconfig.xml
ファイルに含まれる、pool
で始まる <jdbc-datasource/>
の子要素の詳細については、「データベース接続のチューニング」を参照してください。
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>postgres72</database-type>
<schema-name>public</schema-name>
<jdbc-datasource>
<url>jdbc:postgresql://dbserver:5432/jiradb</url>
<driver-class>org.postgresql.Driver</driver-class>
<username>jiradbuser</username>
<password>password</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
<validation-query>select version();</validation-query>
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
<pool-test-on-borrow>false</pool-test-on-borrow>
<pool-test-while-idle>true</pool-test-while-idle>
</jdbc-datasource>
</jira-database-config>
Jira セットアップ ウィザードとデータベース設定ツールの両方も、dbconfig.xml
ファイルに要素 <validation-query>select 1</validation-query>
を追加します。これは通常、既定の MySQL インストールで Jira を実行する場合に必要です。詳細については、「コネクション切断の問題を乗り越える方法」をご参照ください。
3. Jira を起動する
PostgreSQL データベースに接続するための Jira の設定が完了しました。次のステップでは、これを起動させます。
これで、Jira を PostgreSQL データベースに接続することができました。