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

前提条件

データのランディングまたはレプリケートをする前に、次の前提条件を満たすようにします。

  • Data Movement ゲートウェイ サーバーに、必要なdriverをインストールする

  • データ ソースに必要な権限を付与する

  • データ ソースのコネクタを構成する

ドライバーのセットアップ

driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。

ドライバー インストール ユーティリティを使用したドライバーのインストール

このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。

インストールの準備

  • データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。

    Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。

    python3 --version

driver のインストール

driverダウンロードしてインストールするには:

  1. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  2. 次のコマンドを実行します。

    構文:

    ./install postgres

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、install postgres コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  3. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押すと、EULA 全体をスピーディにスクロールできます。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  4. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、EULA が再表示されます。

  5. driver がインストールされます。

driver の更新

提供された driver をインストールする前に前のバージョンの driver をアンインストールしたい場合は、更新コマンドを実行します。

driverダウンロードして更新するには:

  1. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  2. 次のコマンドを実行します。

    構文:

    ./update postgres

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、update postgres コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  3. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押して、EULA 全体をスピーディにスクロールします。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  4. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、最初から EULA をレビューできます。
  5. 古い driver がアンインストールされ、新しい driver がインストールされます。

driver のアンインストール

driver をアンインストールする場合は、アンインストール コマンドを実行します。

driver をアンインストールするには:

  1. このコネクタを使用するように構成されているすべてのタスクを停止します。

  2. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  3. 次のコマンドを実行します。

    構文:

    ./uninstall postgres

    driver がアンインストールされます。

ドライバーの手動インストール

自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。

データ移動ゲートウェイ をインストールしたら、次の RPM ファイルをダウンロードします。ファイルへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/postgres.yamlbinary-artifacts にあります。ダウンロードが完了したら、ファイルを データ移動ゲートウェイ マシンにコピーします。

Red Hat 9.x で データ移動ゲートウェイ がインストールされている場合、

  • postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel9.x86_64。

Red Hat 8.x で データ移動ゲートウェイ がインストールされている場合、

  • postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm

Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. オプションで、サービスが停止されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  3. RPM ファイルをインストールします。

  4. 作業ディレクトリを <Data Movement gateway_Install_Dir>/bin に変更します。

  5. 次のように、ドライバーの場所を site_arep_login.sh ファイルにコピーします。

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh

    これにより、ドライバーが「LD_LIBRARY_PATH」に追加され、site_arep_login.sh ファイル内のドライバーの場所が更新されます。

  6. 必要に応じて、ドライバーの場所がコピーされていることを確認します。

    cat site_arep_login.sh
  7. 次の例のように、/etc/odbcinst.ini ファイルに PostgreSQL のエントリが含まれていることを確認します。

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

    Driver = /usr/pgsql-13/lib/psqlodbc.so

    Setup = /usr/pgsql-13/lib/psqlodbcw.so

    UsageCount = 1

  8. Data Movement gateway サービスを起動します。

    sudo systemctl start repagent

  9. 必要に応じて、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

ポート

既定では、Data Movement gatewayサーバーのアウトバウンド通信のために、ポート 5432 を開く必要があります。これは、コネクタ設定で変更できます。

顧客がインストールした PostgreSQL データベースからの変更のキャプチャ

  • Data Movement gateway マシンの IP アドレスは、「replication」キーワードをデータベース項目に入れて、 pg_hba.conf 構成ファイルに追加する必要があります。

    例:

    host replication all 176.123.1.212/32 trust

  • test_decoding 出力プラグイン (postgresql12-contrib パッケージ) がインストールされていることを確認します。

  • データベースで「スロット」を作成できるようにするには、接続設定で指定されたユーザーに、ソース データベースへの読み取り/書き込み権限を付与する必要があります。変更を読み取るにはスロットが必要です。

  • 次のパラメータと値を、postgresql.conf 構成ファイルで設定する必要があります。

    wal_level = logical
    max_replication_slots = number of replication slots

    number of replication slots は 1 より大きく、実行したいタスクの数に従って設定する必要があります。例えば、5 つのタスクを実行するには、max_replication_slots = 5 を設定する必要があります。タスクが開始されるとすぐにスロットが自動的に開き、タスクが実行されなくなっても、そのままの状態が維持されます。開いたスロットは手動で削除する必要があります。

    max_wal_senders = number of concurrent tasks

    number of concurrent tasks は 1 より大きく、同時に実行中のタスクの数に従って設定する必要があります。例えば、3 つのタスクを実行するには、max_wal_senders = 3 を設定する必要があります。

  • wal_sender_timeout パラメータは、指定されたミリ秒を超えて非アクティブな状態が続く接続を終了します。既定のタイムアウトは 60 秒です。タイムアウトの機構を無効にするには (オプション)、このパラメータをゼロに設定します。

    情報メモ

    既定では、wal_sender_timeout パラメータの値は、サーバーによりミリ秒として解釈されます。明示的に秒数を指定するには、次の例のように値に「s」を付けます:

    wal_sender_timeout=60s

構成パラメーターの詳細については、PostgreSQL オンライン ヘルプの「サーバー構成」の「レプリケーション」セクションを参照してください。

Amazon RDS for PostgreSQL からの変更のキャプチャ

Amazon RDS for PostgreSQL ソース エンドポイント ユーザーとして、PostgreSQL データベース インスタンスの AWS マスター ユーザー アカウントを使用できます。マスター ユーザー アカウントには、変更データ キャプチャ (CDC) を設定するのに必要な役割があります。

マスター ユーザー アカウントを使用しない場合は、使用を希望するアカウントに rds_superuser role and the rds_replication 役割が必要です。rds_replication role は、論理的スロットを管理し、論理的スロットを使ってデータをストリーミングする権限を付与します。

Amazon RDS PostgreSQL データベース インスタンスの論理的複製を有効化するには:

  1. 次の構成で新しいパラメータ グループを作成します:
    1. データベース パラメータ グループの rds.logical_replication パラメータを 1 に設定します。
    2. max_wal_senders – 平行に実行できるタスク数。
    3. max_replication_slots – 各接続 (タスク) が新しいスロットを作成します。このパラメータは、データベースに対して確立できる同時接続の量を構成します。
  2. Amazon RDS インスタンスをパラメータ グループにリンクします。

Microsoft Azure for PostgreSQL からの変更のキャプチャ

Microsoft Azure for PostgreSQL から変更をキャプチャするためには、下記のステップに従って「replication」プロパティを「logical」に設定する必要があります。

  1. Azure CLI を開いて、次のコマンドを実行します:

    情報メモ

    CLI をダウンロードするか、または Azure ポータルで shell コマンドを使って接続できます。

    az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical

    az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical

     

  2. データベースを再起動します (コマンド ラインを使うか、またはポータル経由)。

Google Cloud SQL for PostgreSQL からの変更のキャプチャ

情報メモこの機能には データ移動ゲートウェイ 2022.11.42 以降が必要です。

データベースから変更をキャプチャするには、論理的レプリケーションを設定する必要があります。

論理的レプリケーションを設定するには:

  1. Google Cloud プラットフォームで、PostgreSQL 設定に次のフラグを設定します:

    • cloudsql.logical_decoding=on
    • max_replication_slots: すべての接続 (タスク) は新しいスロットを作成します。このパラメータは、データベースに対して確立できる同時接続数を構成します。プラットフォームの問題が発生した場合、この値を増加させることで解決される可能性があります。
    • max_wal_senders: 平行に実行できるタスク数。プラットフォームの問題が発生した場合、この値を増加させることで解決される可能性があります。

    これらのパラメータの詳細については、https://www.postgresql.org/docs/current/runtime-config-replication.html を参照してください。

  2. データベースで、connector 設定 (username) でユーザー指定をレプリケーションをサポートするよう変更します。

    ALTER USER username WITH REPLICATION;

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

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