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

PostgreSQL

このセクションでは、PostgreSQL Target コネクタを使用して PostgreSQL ターゲットへの接続を構成する方法について説明します。PostgreSQL は、レプリケーション タスクのターゲットとしてのみ使用できます。PostgreSQL ターゲットに接続する前に、データベースで 必要な権限 を構成する必要があります。データ移動ゲートウェイ 経由で PostgreSQL に接続している場合は、ドライバーのセットアップ の説明に従ってドライバーをインストールする必要もあります。

PostgreSQL コネクタを使用する場合の制限と考慮事項については、「 制限と考慮事項」を参照してください。

接続プロパティの設定

このセクションでは、使用可能な接続プロパティについて説明します。特に指定がない限り、すべてのプロパティが必要です。

データ ターゲット

  • データ ゲートウェイPostgreSQL ターゲットへの接続をテストするために使用される データ移動ゲートウェイ を選択します。これは、データ ソースへのアクセスに使用されたゲートウェイと同じである必要があります。

    情報メモ
    • データ移動ゲートウェイ 2023.5.10 以降が必要です。
    • データ移動ゲートウェイ マシンに適切なドライバーをインストールする必要もあります。詳細については、以下の「ドライバーのセットアップ」を参照してください。

  • クラウド プロバイダー: 必要に応じて、次のいずれかを選択します。

      • PostgreSQL オンプレミス
      • Amazon Aurora
      • Microsoft Azure Database for PostgreSQL - フレキシブル サーバー。
    • Amazon RDS for PostgreSQL の場合。

      • PostgreSQL 用 Google Cloud SQL
      • PostgreSQL 用 Google Cloud AlloyDB
    • Microsoft Azure Database for PostgreSQL の場合。

  • ホスト: PostgreSQL データベースがインストールされているコンピューターのホスト名または IP アドレスです

  • ポート: データベースに接続するときに使用するポート。デフォルトは、5432 です。

アカウントのプロパティ

ユーザー名パスワード:  PostgreSQL Server データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。

データベースのプロパティ

  • データベース名: データベースを指定するには 2 つの方法があります。

    • 方法 1 - リストから選択: [Load databases] (データベースをロード) をクリックし、データベースを選択します。
    • 方法 2 - 手動: [Enter database name manually] (データベース名を手動で入力) を選択し、データベース名を入力します。
  • SSL モード: 次のうち 1 つを選択します:
    • disable - 姓とパスワードのみで接続します。
    • allow - サーバーから要求された場合、暗号化された接続を確立します。
    • prefer - これが既定です。サーバーが暗号化された接続をサポートしている場合は暗号化された接続を確立し、暗号化された接続を確立できない場合は暗号化されていない接続にフォールバックします。
    • require - サーバーが暗号化された接続をサポートしている場合、暗号化された接続を確立します。暗号化された接続を確立できない場合、接続の試行は失敗します。
    • verify-ca - Required に似ていますが、構成された CA 証明書に対してサーバー認証局 (CA) 証明書も検証します。一致する有効な CA 証明書が見つからない場合、接続試行は失敗します。
    • verify-full - Verify CA に似ていますが、クライアント (Data Movement gateway など) がサーバーへの接続に使用するホスト名を、サーバーがクライアントに送信する証明書の ID と照合することで、ホスト名の ID 検証も実行します。クライアントは、接続に使用するホスト名がサーバー証明書の共通名の値と一致するかどうかを確認します。不一致がある場合、接続は失敗します。
  • 信頼できる証明書: クライアント証明書ファイルを PEM 形式で発行した認証局 (CA)。
  • クライアント証明書: サーバーから要求されたクライアント証明書をアップロードします。
  • クライアント証明書キー: PEM 形式のクライアント プライベート キー ファイル。
  • CRL: CRL 証明書。このファイルには、認証局によって取り消された証明書が含まれています。サーバー証明書がこのリストに表示されている場合、接続は失敗します。
  • SSL 圧縮: データを暗号化する前に圧縮するには、このオプションを選択します。
  • 最大ファイル サイズ (KB): CSV ファイルが PostgreSQL ターゲット データベースにロードされる前に、CSV ファイルの最大サイズ (KB 単位) を選択または入力します。既定値は 32000 KB です。

内部プロパティ

内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。

項目右側にある 新規作成キャンセル ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。

名前

接続の表示名です。

前提条件

必要な権限

コネクタ設定で指定されたユーザーは、PostgreSQL データベースに登録されているユーザーである必要があります。

さらに、次の権限を付与する必要があります。

  • Can login (ログイン可能)
  • Create databases (データベースの作成)
情報メモターゲットのスキーマがデータベースにすでに存在する場合、「データベースの作成」権限は必要ありません。

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

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

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

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

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

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

    python3 --version

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ダウンロードして更新するには:

  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 をアンインストールするには:

  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

制限と考慮事項

PostgreSQL をレプリケーション ターゲットとして使用する場合、次の制限が適用されます。

  • 重複レコードを含む主キー/一意のインデックスのないテーブルに対する UPDATE および DELETE 操作はサポートされていません。これらのテーブルに変更を加えると、ターゲット内のすべてのレコードに影響します。
  • キーに LOB 列を含むテーブルは、バッチ最適化適用モードではサポートされていません。VARBINARY 列がソース テーブル キーとして使用される場合、BYTEA 列がターゲットに作成されます。これにより、バッチ最適化適用モードで予期しない動作が発生します。回避策として、SQLite HEX 関数を使用して VARBINARY を VARCHAR に変換することをお勧めします。

データ型

ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。

データ型
Qlik Cloud データ型 PostgreSQL データ型

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

スケールが 0 以上で 6 以下の場合は:

TIMESTAMP

スケールが 7 以上で 12 以下の場合は:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

長さが 1 以上で 21845 以下の場合:

VARCHAR (バイト単位の長さ = STRING 値に 3 を掛けた値)

長さが 21846 以上で 2147483647 以下の場合:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

長さが 1 以上で 21845 以下の場合:

VARCHAR (バイト単位の長さ = WSTRING 値に 3 を掛けた値)

長さが 21846 以上で 2147483647 以下の場合:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

PostgreSQL ソースからレプリケートする場合のデータ型

PostgreSQL ソースからレプリケートする場合、ユーザー定義または PostGIS データ型の列を除き、ターゲット テーブルはすべての列が同じデータ型で作成されます。このような場合、ターゲットではデータ型は「character varying」として作成されます。

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

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