注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

PostgreSQL

FoundryをPostgreSQL (外部リンク)に接続し、PostgreSQLデータベースとFoundry間でデータの読み込みと同期を行います。このコネクターは、メジャーバージョン42の公式PostgreSQLドライバー (外部リンク)を使用し、PostgreSQL 8.2以降のすべてのバージョンと互換性があります。

サポートされている機能

機能ステータス
バッチ同期🟢 一般提供
探索🟢 一般提供
インクリメンタル🟢 一般提供
変更データキャプチャ同期🟡 ベータ版
ストリーミングエクスポート🟡 ベータ版

設定

  1. Data Connectionアプリケーションを開き、画面右上の**+ New Source**を選択します。
  2. 利用可能なコネクタタイプからPostgreSQLを選択します。
  3. インターネット経由の直接接続を使用するか、エージェントランタイム経由で接続するかを選択します。
  4. 下記のセクションにある情報を使用して、コネクタの設定を続けるための追加の設定プロンプトに従います。

Foundryでコネクタを設定する方法については、コネクタの設定を参照してください。

認証

FoundryのPostgreSQLコネクタでは、認証にユーザー名とパスワードを使用する必要があります。個々のユーザーの資格情報ではなく、サービス資格情報の使用を推奨します。

ユーザー名とパスワードの認証は、クライアントおよび/またはサーバー証明書と、これらの証明書の検証を必要とするSSLモードと併用で使用できます。

提供したユーザーが、ターゲットデータベースの必要な権限を持つこと、およびターゲットテーブルの読み取りまたは書き込みの許可を持つことを確認する必要があります。変更データキャプチャの場合、ユーザーはターゲットデータベースのCREATEおよびREPLICATION権限も必要となる可能性があります。

ネットワーキング

PostgreSQLコネクタは、接続したいデータベースインスタンスへのネットワークアクセスを必要とします。PostgreSQL接続は通常、ホスト名またはIPを使用してポート5432に接続します。

FoundryからPostgreSQLへの直接接続を有効にするためには、ソースを設定する際に適切な出口ポリシーを追加する必要があります。これは、Data Connection applicationに行います。

インターネット上でアクセス可能なクラウドホスト型のPostgreSQLインスタンス、例えばAmazon Relational Database Service (RDS)のPostgreSQLの場合、ホスト名と解決されたIPの両方に対して出口ポリシーを追加する必要があります。解決されたIPが変更された場合、新しいIPを許可するために出口ポリシーを更新する必要があります。管理型のクラウドホスト型PostgreSQLインスタンスのプロバイダーの公式ドキュメンテーションを確認し、必要なネットワーク設定の詳細を確認してください。

FoundryからPostgreSQLインスタンスへの受信トラフィックを許可するように確認する必要があります。Foundryからのトラフィックが発生する出口IPをコントロールパネルの[ネットワーク出口]((../administration/configure-egress.md)ページで確認できます。これらのIPからデータベースインスタンスへのトラフィックを許可する方法については、ホスティングプロバイダーのドキュメンテーションを確認してください。

エージェントランタイムで接続する場合、エージェントホストがPostgreSQLデータベースに接続するために必要なホスト名、IPアドレス、およびポートに対してファイアウォールを開放していることを確認する必要があります。

Amazon RDS の PostgreSQL

Amazon RDSでホストされているPostgreSQLの管理インスタンスに接続する場合、必要な出口ポリシーを備えた直接接続ランタイムを使用できます。

  • Amazon RDSでホストされているPostgreSQLインスタンスのホスト名を見つけるには、AWSコンソールでインスタンスに移動します。RDS PostgreSQLのホスト名ベースの出口ポリシーの例は<your-database-name>.<unique-identifier>.<region>.rds.amazonaws.com (ポート5432)です。
  • 解決されたIPを見つけるには、コマンドラインからnslookup <rds-postgresql-database-hostname>を実行します。最終的な結果は、ホスト名が解決する公開IPアドレスになります。RDS PostgreSQLのIPv4ベースの出口ポリシーの例はx.x.x.x (ポート5432)です。あるいは、AWSコンソールでRDSインスタンスに割り当てられた公開IPを見つけることもできます。

RDS PostgreSQLインスタンスに接続する際には、ソース設定パネルにRDSルート証明機関 (CA)をサーバー証明書として追加する必要があるかもしれません。Amazon S3サイト (外部リンク)からrds-ca-2019-root.pemをダウンロードし、証明書の詳細をFoundryにコピーして、Amazon RDSへの接続を信頼します。SSL/TLSを使用してRDSデータベースインスタンスに接続する方法についての詳細は、公式のAWSドキュメンテーション (外部リンク)を確認してください。

接続詳細

オプション必須?説明
Host typeはいFoundryがPostgreSQLデータベースにどのように接続するかを指定します。

オプション1: ホスト名
ホスト名を提供します。これはすべてのPostgreSQL接続に推奨されるオプションであり、クラウドホスト型のPostgreSQLインスタンスに接続する際には常に使用するべきです。例えば、Amazon RDS (外部リンク)でホストされているインスタンスなど。

オプション2: IPv4
IPv4アドレスを提供します。企業ネットワーク内やインターネット上で通常IPv4アドレスを使用して接続する場合は、このオプションを使用できます。

オプション3: IPv6
IPv6アドレスを提供します。通常IPv6アドレスを使用して接続する場合は、このオプションを使用します。
Portはい接続時に使用するポートを指定します。ほとんどのPostgreSQLインスタンスではデフォルトのポートは5432になります。ポートについての詳細は、PostgreSQLの公式ドキュメンテーション (外部リンク)およびデータベースインスタンスの設定を参照してください。
Database nameはいPostgreSQLインスタンス内で接続しているデータベースの名前。
Authenticationはい上記のAuthenticationのガイダンスを使用して設定します。
Network ConnectivityはいPostgreSQLインスタンスにネットワーク接続されたランタイムを提供する必要があります。企業のファイアウォールの後ろにあるインスタンスでは、通常エージェントランタイムを使用する必要があります。クラウドホスト型のインスタンスについては、Networkingセクションを参照してください。
SSL Modeはいデフォルトはverify-fullです。詳細については、PostgreSQL JDBCドライバーのssl-mode接続パラメーターについての公式ドキュメンテーション (外部リンク)を確認してください。

変更データキャプチャ [ベータ版]

PostgreSQLの変更データキャプチャ同期はベータ版です。この機能にアクセスするには、Palantirサポートに問い合わせてください。

PostgreSQLソースは変更データキャプチャ (CDC) 同期をサポートしています。

PostgreSQLは論理レプリケーションをサポートしているため、変更データキャプチャは設定したテーブルへの変更をほぼリアルタイムでストリームできます。PostgreSQLのドキュメンテーション (外部リンク)によれば:

論理レプリケーションは、データオブジェクトとその変更を、それらのレプリケーションアイデンティティ(通常はプライマリキー)に基づいてレプリケートする方法です。

Foundryの変更データキャプチャ同期は、既存のレプリケーションスロットを使用するか、ターゲットデータベースに新しいレプリケーションスロットとパブリケーションを作成することで、PostgreSQLから機能します。データ接続ソースごとに1つのレプリケーションスロットとパブリケーションが設定されますが、単一の接続で任意の数のテーブルをFoundryにストリームすることができます。複数のレプリケーションスロットやパブリケーションを使用したい場合、データベースに接続する複数のデータ接続ソースを作成できます。

変更データキャプチャ同期を設定する前に、まず動作するPostgreSQLソース接続があることを確認してください。次に、CDC syncsタブに移動し、変更データキャプチャのための追加必須設定を提供します。

新しいPostgreSQLソースのCDC syncsタブ。

オプション必須?説明
レプリケーションスロット名はいCDCに使用するレプリケーションスロットの名前。スロットが存在しない場合、作成されます。詳細については、公式のPostgreSQLドキュメンテーション (外部リンク)を参照してください。
パブリケーション名はいCDCに使用するパブリケーションの名前。詳細については、公式のPostgreSQLドキュメンテーション (外部リンク)を参照してください。
パブリケーションの自動作成はい有効にすると、選択したすべてのテーブルのためにパブリケーションが自動的に作成されます。これには、ユーザーが以下の権限を持つことが必要です: データベースのCREATEREPLICATION、テーブルのSELECT

変更データキャプチャの必要な設定が配置されたら、Overviewページに移動するか、CDC syncsページにとどまり、+ Create CDC syncを選択して新しい変更データキャプチャ同期を作成することができます。

変更データキャプチャ同期を作成するには、探索ランタイムが動作している必要があります。ランタイムがまだ初期化中の場合、変更データキャプチャ同期の作成を進めるために数秒待ってからページを更新する必要があるかもしれません。

PostgreSQLでCDCを使用する方法についての詳細は、使用中のPostgreSQLのバージョンに関する論理レプリケーションの公式ドキュメンテーション (外部リンク)を確認してください。