Jira アプリケーションの PostgreSQL への接続
These instructions will help you connect Jira to a PostgreSQL database.
On this page:
はじめる前に
- ご使用の PostgreSQL のバージョンがサポート対象であることを確認します。サポート対象プラットフォームを参照してください。
- Jira を他のサーバーに移行する場合は、データのエクスポートをバックアップとして作成します。その後、「データベースの切り替え」で説明されているように、元のデータベースから新しいデータベースにデータを移行できるようになります。
- セットアップ ウィザードを実行中の場合を除き、開始する前に Jira をシャットダウンします。
PostreSQL 15 を使用していて、Jira でデータベースにテーブルを作成できない場合、この課題を修正するには、Jira データベース ユーザー用のユーザー専用スキーマを作成します。
1. PostgreSQL データベースを作成・設定する
リモート TCP 接続を承認する (リモート PostgreSQL サーバーのみ)
If you are connecting Jira to a remote PostgreSQL server (i.e. if your PostgreSQL server is not installed locally on your Jira server host system), you will need to configure your data/postgresql.conf
and data/pg_hba.conf
files to accept remote TCP connections from your Jira server's IP address.
次の 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 サイトに記載されています。
- Create a database user (login role) which Jira will connect as (e.g.
jiradbuser
).
Remember this database user name, as it will be used to configure Jira's connection to this database in subsequent steps. Create a database for Jira to store issues in (e.g.
jiradb
) with Unicode collation.
Remember this database name, as it will be used to configure Jira's connection to this database in subsequent steps.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 パフォーマンスを最適化して改善)」をご確認ください。
PostgreSQL 15 を使用していますが、Jira でデータベースにテーブルを作成できません
PostgreSQL 15 では、ユーザーに対するテーブル作成権限の処理方法が変更されました。PostgreSQL 15 は、公開 (または既定) スキーマのデータベース所有者を除くすべてのユーザーから CREATE 権限を取り消します。Postgres 15 のドキュメントによると、Jira データベース ユーザーのユーザー専用スキーマを作成することで、この課題を修正できます。
ただし、次のコマンドを実行して、公開スキーマに権限を付与することもできます。
Jira が使用するユーザーを作成します。
postgres=# CREATE USER atlas WITH PASSWORD 'atlas';
データベースを作成します。
postgres=# CREATE DATABASE atlas WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
データベースに必要な権限を付与します:
postgres=# GRANT ALL PRIVILEGES ON DATABASE atlas TO atlas;
データベースに接続します。
postgres=# \c atlas postgres
これで、データベース
atlas
にユーザーpostgres
として接続されました。必要なスキーマ権限を付与します。
atlas=# GRANT ALL ON SCHEMA public TO atlas;
2. Configure your Jira server to connect to your PostgreSQL database
There are two ways to configure your Jira server to connect to your PostgreSQL database:
- Using the Jira setup wizard — Use this method if you have just installed Jira, and you are setting it up for the first time. Your settings will be saved to the
dbconfig.xml
file in your Jira home directory. - Using the Jira configuration tool — Use this method if you have an existing Jira instance. Your settings will be saved to the
dbconfig.xml
file in your Jira home directory.
各設定手法の手順説明
Jira setup wizard
ブラウザから初めて Jira にアクセスすると、Jira セットアップ ウィザード が表示されます。
- 最初の画面 の “Configure Language and Database” で、 “Database Connection” に My own database を選択します。
- “Database Type” を “SQL Server” に設定します。
- 下記の データベース接続関連フィールド を参照し、フィールド入力を行います。
- 接続をテストし、保存します。
Jira configuration tool
- Run the Jira configuration tool as follows:
- Windows: コマンド プロンプトを開いて、Jira インストール ディレクトリの
bin
サブディレクトリにあるconfig.bat
を実行します。 Linux/Unix: コンソールを開いて、Jira インストール ディレクトリの
bin
サブディレクトリにあるconfig.sh
を実行します。このコマンドは「No X11 DISPLAY 変数が原因で Jira アプリケーション設定ツールを起動できなかったのは、設定エラーによるもの」に記載のエラーで失敗する場合があります。その場合は、この記事の回避策をご参照ください。
- Windows: コマンド プロンプトを開いて、Jira インストール ディレクトリの
- データベース タブへ進み、データベースの種類 を PostgreSQL に設定します。
- 下記の データベース接続関連フィールド を参照し、フィールド入力を行います。
- 接続をテストし、保存します。
- Restart 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> | The name of your PostgreSQL database (into which Jira will save its data). You should have created this in Step 1 above. |
ユーザ名 |
| 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. Start Jira
You should now have Jira configured to connect to your PostgreSQL database. The next step is to start it up!
Congratulations, you now have Jira connected to your PostgreSQL database.