メイン コンテンツをスキップする 補完的コンテンツへスキップ

PostgreSQL のインストールと構成

Qlik Sense マルチノード展開でのパフォーマンスを向上させるため、リポジトリ (QSR)、SenseServices、QSMQ、および Licenses データベースを専用のリモート PostgreSQL サーバーにインストールするオプションが用意されています。

データベース

QSR、SenseServices、および QSMQ データベースは同じログイン ロールを共有しており、同じ PostgreSQL インスタンスにインストールする必要があります。以前の展開の一部としてすでに PostgreSQL データベースがインストールされている場合、それを引き続き使用することができます。

情報メモQlik Sense Enterprise でマルチクラウド展開のコンポーネントをすべて構成するかどうかはオプションです。ただし、マルチクラウドでもオンプレミスでも、すべての展開で SenseServices データベースおよび QSMQ データベースをインストールする必要があります。
警告メモQlik SensePostgreSQL データベースを専用のインフラストラクチャで使用する場合、PostgreSQL の対応するバージョンを使用できます。どのバージョンの PostgreSQLQlik Sense で対応しているかについては、次を確認してください。「Qlik Sense Enterprise のシステム必要条件」。
PostgreSQL のインスタンスを、Windows、Linux、クラウド ホスト サービス (例: Amazon RDS) などのプラットフォームで実行できます。ただし、PostgreSQL が Windows 上で実行されていないと、Qlik は構成に対応できません。 Linux や Amazon RDS を使用する場合、Qlik Sense 用の PostgreSQL の実行インスタンスを使用するためにインストールし、構成するのはユーザーの責任です。

Qlik Sense リポジトリ データベース (QSR)

QSR は Qlik Sense 展開のプライマリ データベースです。

PostgreSQL サーバー/ホストの詳細を Qlik Sense インストーラーに入力する必要があるため、QSR データベースを専用の PostgreSQL サーバーにインストールする場合は、Qlik Sense をインストールする前に をインストールして PostgreSQL を構成する必要があります。

Qlik Sense サービス データベース (SenseServices)

SenseServices データベースには、各 サービスのスキーマが含まれており、同じ Qlik Sense Repository Database インスタンスとログイン ロールを共有したまま、Qlik Sense から独立して拡張することができます。PostgreSQL

Qlik Sense メッセージ キュー データベース (QSMQ)

QSMQ データベースを利用すると、Qlik Sense Enterprise 内のサービス間におけるメッセージの内部送信が容易になります。 の NOTIFY と LISTEN の機能により、メッセージング テーブルに書き込まれた新しいメッセージをサービスに通知できます。PostgreSQL

ライセンス サービス データベース (Licenses)

Licenses データベースには、応答時間を短縮するとともに堅牢性を高めるため、ライセンス データのローカル コピーが保管されます。ライセンス サービスのみがアクセスします。

専用の PostgreSQL サーバーに QSR、SenseServices、QSMQ、および Licenses データベースをインストールするには、以下の手順を実行します。

  • PostgreSQL のインストール
  • PostgreSQL データベースを作成し、ログイン ロールを構成します。
  • Qlik Sense ノードからのアクセスを許可するように構成ファイルを編集します。
  • データベースがインストールされ、正しく動作していることを確認します。

PostgreSQL のインストール

専用の PostgreSQL サーバー インスタンスをインストールする前に、サーバーが www.postgresql.org に記載のシステム要件を満たしていることを確認します。

情報メモ Microsoft AzurePostgreSQL 用の Azure データベースをインストールする場合は、Azure での PostgreSQL のインストールと構成 の指示に従ってください。

PostgreSQL を専用のサーバーにインストールするには、次の手順を実行します。

  1. PostgreSQL をインストールするサーバーに管理者としてログインします。

    参照先: ユーザー アカウント

  2. PostgreSQL Web サイトから PostgreSQL EnterpriseDB バージョン 12.x をダウンロードします。
    どのバージョンの PostgreSQLQlik Sense で対応しているかについては、次を確認してください。「Qlik Sense Enterprise のシステム必要条件

  3. [PostgreSQL 設定ウィザード] を実行します。
  4. [インストール ディレクトリ] および [データ ディレクトリ] 画面で既定のパスを受け入れます。
  5. [パスワード] 画面で PostgreSQL のスーパーユーザーのためのパスワードを作成します。
    このパスワードは PostgreSQL データベースに接続するときに使用し、Qlik Sense の設定を実行するときにも使用するよう促されます。
  6. [ポート] 画面でポート 4432 を指定します。このポートは、 サイト内の全ノード間の通信に必要です。

  7. [高度なオプション] 画面で既定の場所を受け入れます。
  8. [インストール準備完了] 画面で [次へ] をクリックして設定を実行します。

  9. 設定の実行後、 Stack Builder をインストールすることもできます。これを後からインストールする場合は、チェック ボックスの選択を解除します。
  10. [完了] をクリックしてインストールを完了します。

PostgreSQL EnterpriseDB をインストールすると、pgAdmin ツールが付属します。

PostgreSQL データベースの作成

リポジトリ QSR、SenseServices、QSMQ、Licenses データベースは、pgAdmin ツールを使用して手動で作成するか、スクリプトを使用して作成します。

pgAdmin ツールを使って、新しい空の PostgreSQL データベースを作成するには、次の手順を実行します。

  1. pgAdmin ツールを開きます。

  2. pgAdmin [ブラウザー] の [サーバー] で PostgreSQL ノードを右クリックし、[サーバーを接続] をクリックします。
  3. 接続するために、PostgreSQL のスーパーユーザーのパスワードを入力します。サーバーの接続が成功すると、画面の右下に緑色のステータス バーが表示されます。
  4. [データベース] ノードを右クリックし、[作成] をクリックしてから [データベース] をクリックします。
  5. 作成しているデータベースの名前を入力し、[保存] をクリックします。

pgAdmin ツール内でスクリプトを実行して、新しい空の PostgreSQL データベースを作成するには、次の手順を実行します。

  1. [クエリ ツール] を開きます。最初に、postgres など既存のデータベースを選択して、[ツール] メニューの [クエリ ツール] オプションを表示します。
  2. 次のスクリプトを実行します。
    CREATE DATABASE "<databasename>" ENCODING = 'UTF8'; --空のデータベースを作成
    <databasename> は、リポジトリ データベースの QSR、SenseServices データベースの SenseServices、メッセージ キュー データベースの QSMQ、ライセンス サービスの Licenses で置き換えます。

ログイン ロールの 作成

PostgreSQL データベースを作成する場合は、ユーザーのログイン ロールを作成する必要があります。ログイン ロールは、 pgAdmin ツールを使用するか、スクリプトを実行して作成できます。

QSR、SenseServices、QSMQ、Licenses のログイン ロール

pgAdmin ツールを使って ログイン ロールを作成するには、次の手順を実行します。

  1. [ログイン/グループのロール] ノードを右クリックします。新規データベース ユーザーを作成するには、[作成] をクリックして、[ログイン/グループ ロール] をクリックします。
  2. [作成 - ログイン/グループのロール] ウィンドウの [基本設定] タブで名前「qliksenserepository」を入力します。
  3. [権限] タブで [Can login?] (ログイン可能) を有効にし、他の既定の権限は変更せずそのままにします。
  4. [定義] タブで、任意のパスワードを入力して [保存] をクリックします。
    Qlik Sense の設定時、[共有持続性データベース接続設定] 画面で、Qlik Sense とリポジトリ データベースの接続のために、 ここで作成した [データベース ユーザー] のパスワードの入力を求められます。
  5. [qliksenserepository] を [QSR、SenseServices]、[QSMQ]、および [ライセンス] データベースの所有者にします。それには、前に作成した QSR、SenseServicesQSMQLicenses データベースを右クリックし、[プロパティ] をクリックします。
  6. [基本設定] タブの [所有者] ドロップダウンで、QSR、SenseServicesQSMQLicenses データベースの [所有者] として qliksenserepository を選択し、[保存] をクリックします。

pgAdmin ツール内でスクリプトを実行してログイン ロールを作成するには、次の手順を実行します。

[クエリ ツール] を開きます。既存のデータベースを選択して、[ツール] メニューの [クエリ ツール] オプションを表示します。

次のスクリプトを実行します。

CREATE ROLE "qliksenserepository" WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity'; -- change <qliksenserepository_user_pass> to your password for the repository service user
ALTER ROLE "qliksenserepository" WITH ENCRYPTED PASSWORD '<qliksenserepository_user_pass>';
GRANT qliksenserepository TO postgres;

ALTER DATABASE "QSR" OWNER TO "qliksenserepository";
ALTER DATABASE "SenseServices" OWNER TO "qliksenserepository";
ALTER DATABASE "QSMQ" OWNER TO "qliksenserepository";
ALTER DATABASE "Licenses" OWNER TO qliksenserepository;

GRANT TEMPORARY, CONNECT ON DATABASE "QSMQ" TO PUBLIC;
GRANT ALL ON DATABASE "QSMQ" TO postgres;
GRANT CREATE ON DATABASE "QSMQ" TO "qliksenserepository";
GRANT TEMPORARY, CONNECT ON DATABASE "SenseServices" TO PUBLIC;
GRANT ALL ON DATABASE "SenseServices" TO postgres;
GRANT CREATE ON DATABASE "SenseServices" TO "qliksenserepository";

GRANT TEMPORARY, CONNECT ON DATABASE "Licenses" TO PUBLIC;
GRANT ALL ON DATABASE "Licenses" TO postgres;
GRANT CREATE ON DATABASE "Licenses" TO qliksenserepository;
情報メモqliksenserepository のパスワードを含めます。Qlik Sense のインストール時にこのパスワードが求められます。

PostgreSQL の構成

PostgreSQL リポジトリ データベース と Qlik Sense ノード間の通信を確立するには、pga_hba.conf 構成ファイルと postgresql.conf 構成ファイルを編集します。

情報メモ元の設定に戻すこともできるように、編集の開始前に、 postgresql.conf ファイルと pg_hba.conf ファイルのバックアップ コピーを作成しておきます。
情報メモこの説明のパスは、専用サーバーのデータベースとして使用されるデフォルトの PostgreSQL インストールに合わせたものです。Qlik Sense によってインストールされた PostgreSQL データベースには次のデータベース パスがあります。%ProgramData%\Qlik\Sense\Repository\PostgreSQL\<version>\

postgresql.conf

postgresql.conf ファイルでは、監査、認証、暗号化など、PostgreSQL サーバーの一般的なパラメーターを指定できます。このファイルを編集することで、どの Qlik Sense ノードが PostgreSQL データベース サーバーにアクセスできるのかをコントロールします。

postgresql.conf ファイルを編集するには、次の手順を実行します。

  1. PostgreSQL が格納されている C:\Program Files\PostgreSQL\<バージョン>\datapostgresql.conf ファイルにアクセスします。
  2. 管理者としてこのファイルをテキスト エディタで開きます。
  3. 以下の構成の変更を行います。
    PostgreSQL 構成の変更
    設定説明値の例
    listen_addresses

    待ち受けを行う IP アドレスを入力します。複数の待ち受けアドレスを入力する場合は、それぞれカンマで区切りながら入力します。
    すべての IP アドレスからの接続を待ち受ける場合は、 * を入力します。

    *
    max_connections

    データベースへの同時最大接続数を指定します。シングル サーバーの既定値は 100 です。

    マルチノード環境では、これはすべてのリポジトリ接続プールの合計 + 20 に調整する必要があります。既定では、この値はノードあたり 110 です。

     
  4. 変更内容を保存します。

これらのパラメーターの設定方法については、PostgreSQL のドキュメントを参照してください。

pg_hba.conf

pg_hba.conf ファイルではクライアントの認証を扱います。各レコードは、クライアント IP アドレス範囲、データベース名、ユーザー名、使用する認証方法など、接続タイプを指定します。

pg_hba.conf ファイルを編集するには、次の手順を実行します。

  1. PostgreSQL が格納されている C:\Program Files\PostgreSQL\<バージョン>\datapg_hba.conf にアクセスします。
  2. 管理者としてこのファイルをテキスト エディタで開きます。
  3. 次の行を探します。

    host all all 127.0.0.1/32 md5

    リポジトリ データベース サーバーにアクセスできるサーバーをこの行で指定します。既定のアドレス設定、127.0.0.1/32 は、データベースへのアクセスをローカル ホストだけに許可します。

  4. 127.0.0.1/32 をサイト内のすべてのノードの IP アドレスを含むサブ ネット指定で置き換えます。
    これらの設定を指定する際には、アドレスごとにサフィックスとして /32 を使って各ノードに 1 行追加するか、/24 などのサフィックスを使ってすべてのアドレスを含むサブ ネットを追加します。

    • IPv4 (32 ビット アドレス):
      • 単一のアドレスを指定する場合: 192.168.1.0/24 または 172.20.143.89/32
      • 小規模ネットワークの場合: 172.20.143.0/24、またはより規模が大きいネットワークの場合は 10.6.0.0/16

      • すべての IPv4 アドレスからのアクセスを許可する場合: 0.0.0.0/0

    • IPv6 (128 ビットの数値アドレス):
      • 単一のホストの場合: ::1/128 (この場合、IPv6 ループバック アドレス)
      • 小規模ネットワークの場合: fe80::7a31:c1ff:0000:0000/96
      • すべての IPv6 アドレスからのアクセスを許可する場合: ::/0
  5. 警告メモIPv6 接続を追加し、アドレス列にホスト名を使用した場合、PostgreSQL がクライアントからの接続を受け入れるには、クライアント マシン上での順行および逆行の nslookup はどちらも有効な値を返す必要があります。詳細については、PostgreSQL のドキュメントを参照してください。
  6. 変更内容を保存します。

制限的な IP アドレスの設定方法については、PostgreSQL のドキュメントを参照してください。

別のサーバーへの PostgreSQL データベースのインストールと構成が完了しました。Qlik Sense のインストールを再開する準備が完了しました。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。