PostgreSQL からメタデータをインポートする

Knowledge Catalog(旧称 Dataplex Universal Catalog)を使用すると、マネージド コネクタを使用して PostgreSQL データベースからメタデータをインポートできます。その後、統合カタログでこれらのデータベース アセットを検索、検出、管理し、大規模言語モデル(LLM)ワークロードのリソース コンテキストを取得できます。

このコネクタは、オンプレミス、Cloud SQL、または他のクラウド環境でホストされている PostgreSQL インスタンスをサポートしています。コネクタの仕組みの詳細については、 メタデータ コネクタについてをご覧ください。

始める前に

PostgreSQL からメタデータをインポートする前に、次のタスクを完了してください。

  1. 必要なロールと権限を付与します。
  2. Knowledge Catalog API と BigQuery Data Transfer Service API を有効にします。
  3. PostgreSQL の前提条件を満たします。
  4. ネットワーキングの前提条件を満たします。

IAM のロールと権限

Knowledge Catalog コネクタ ジョブを作成して管理するには、Knowledge Catalog と BigQuery Data Transfer Service の権限を付与する Identity and Access Management(IAM)ロールが必要です。

PostgreSQL コネクタを構成するために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。

また、BigQuery Data Transfer Service サービス エージェント (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)に dataplex.entryGroups.import権限または Dataplex エントリ グループ インポーター (roles/dataplex.entryGroupImporter)ロールを付与する必要があります。このロールは、プロジェクト レベルまたはエントリ グループ レベルで付与できます。

ロールの付与の詳細については、アクセスの管理 をご覧ください。

API を有効にする

Knowledge Catalog API と BigQuery Data Transfer Service API を有効にします。

API を有効にする

PostgreSQL の前提条件

PostgreSQL 転送の前提条件を満たしていることを確認します。詳細については、BigQuery Data Transfer Service のドキュメントの PostgreSQL の前提条件をご覧ください。

BigQuery Data Transfer Service の前提条件に加えて、PostgreSQL データベースはメタデータの抽出に関して次の要件を満たしている必要があります。

  • 最小バージョン: PostgreSQL バージョン 15 以降。
  • 必要な最小権限: 抽出ツールがメタデータを正常に収集するには、特定の権限が必要です。

これらの権限を付与するには、次の SQL ステートメントを実行します。

  1. データベースへの接続を許可します。

    GRANT CONNECT ON DATABASE DATABASE_NAME TO USERNAME;
    
  2. スキーマの使用権を付与します。

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  3. 必要な読み取りロールをユーザーに付与します。

    GRANT pg_read_all_data TO USERNAME;
    GRANT pg_read_all_settings TO USERNAME;
    GRANT pg_read_all_stats TO USERNAME;
    

次のように置き換えます。

  • DATABASE_NAME: アクセスする PostgreSQL データベースの名前。
  • USERNAME: 構成するデータベース ユーザー。
  • SCHEMA_NAME: アクセスするスキーマの名前。

ネットワーキングの前提事項

BigQuery Data Transfer Service がデータベースにアクセスできるように、プライベート ネットワーク内のプライベート IP アドレスを使用して外部データベースまたはサードパーティ クラウド データソースに安全に接続するには、Private Service Connect を介した接続用のネットワーク アタッチメントが必要です。

パブリック IP アドレスを使用してオンプレミス環境またはクラウド ホスト型インスタンスに接続する場合、ネットワーク アタッチメントは必要ありません。

PostgreSQL コネクタを構成する

Google Cloud コンソールまたは API を使用して PostgreSQL コネクタを構成します。

Console

  1. コンソール Google Cloud で、[Knowledge Catalog] ページに移動します。

    Knowledge Catalog に移動

  1. ナビゲーション メニューの [管理] セクションで、[コネクタ] をクリックします。
  2. [Add connection] をクリックします。
  3. [コネクタ] リストで、[PostgreSQL] カードを選択します。
  4. [データソースの詳細] セクションで、PostgreSQL インスタンスの接続の詳細を指定します。
    • [ネットワーク アタッチメント] で、必要に応じて既存のネットワーク アタッチメントを選択するか、作成します。
    • [ホスト]、[ポート]、[データベース名]、[ユーザー名]、および [パスワード]を入力します。
    • TLS を使用する場合は、[TLS モード] を選択し、[信頼できる PEM 証明書] を指定します。
    • [インポートする PostgreSQL メタデータ オブジェクト] で [参照] をクリックして オブジェクトを選択します。
  5. [宛先の設定] セクションで、次の操作を行います。
    • [参照] をクリックし、インポートしたメタデータを保存する既存のKnowledge Catalog エントリ グループ を選択するか、[新しいエントリ グループを作成] をクリックします。
    • エントリ グループの権限を今すぐ設定するか、後で設定するかを選択します。 ユーザーがインポートしたメタデータを表示できるように権限を設定することをおすすめします。プロジェクト レベルで BigQuery Data Transfer Service サービス エージェント (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) に Dataplex エントリ グループ インポーター (roles/dataplex.entryGroupImporter)ロールまたは dataplex.entryGroups.import 権限を付与していない場合は、エントリ グループ レベルで付与する必要があります。
  6. [**コネクタ構成名**] セクションの [**表示名**] に、メタデータ インポート ジョブの 名前を入力します。
  7. [スケジュール オプション] セクションで、メタデータ インポート ジョブの頻度を構成します。[オンデマンド] を選択した場合、ジョブは手動でトリガーしたときにのみ実行されます。
  8. 省略可: [通知オプション] セクションで、ジョブの失敗に関するメールまたは Pub/Sub 通知を構成します。
  9. 省略可: [詳細オプション] セクションで、暗号化の設定を構成します。顧客管理の暗号鍵(CMEK)を選択した場合、この鍵は Knowledge Catalog メタデータ インポート ジョブを開始する前にステージングされた一時データの暗号化に使用されます。宛先の Knowledge Catalog エントリ グループ内のメタデータの暗号化には使用されません。
  10. [保存] をクリックします。

REST

projects.locations.transferConfigs.create メソッドを使用します。TransferConfig リソースで、次のフィールドを構成します。

  • dataSourceId フィールドを "postgresql" に設定します。
  • metadataDestination フィールドで、ターゲット Knowledge Catalog エントリ グループのリソースパス dataplexConfiguration を使用して projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var> オブジェクトを設定します。

ジョブを作成すると、Knowledge Catalog は構成に基づいて最初の実行をスケジュールします。手動で開始することもできます。

PostgreSQL メタデータを検索して表示する

  1. コンソール Google Cloud で、Knowledge Catalog の [検索] ページに移動します。

    [検索] に移動

  2. [**フィルタ**] パネルで、 [**プロジェクト**]、[**システム**]、[**タイプのエイリアス**] セクションを使用して PostgreSQL アセットをフィルタできます。[システム] セクションで、[インポートされたコンテキスト] を選択します。このフィルタを選択すると、[マネージド コネクタ] サブセクションが開きます。[PostgreSQL] を選択して、すべての PostgreSQL メタデータをフィルタします。

  3. 検索フィールドを使用して検索クエリを実行できます。キーワード検索または自然言語検索を実行できます。たとえば、キーワード検索ですべての PostgreSQL テーブルを表示するには、system=POSTGRESQL AND type=TABLE と入力します。

    リソースの検索の詳細については、Knowledge Catalog でリソースを検索するをご覧ください。検索フィールドで使用できる 式の詳細については、Knowledge Catalogの 検索構文をご覧ください。

  4. LookupContext API を使用して、特定の PostgreSQL リソースの LLM コンテキストを取得することもできます。

次のステップ