外部データテーブル(FDW)への接続
Collection: Connect to foreign data (FDW)Community Edition+概要
データベースの foreign data wrapper に基づいて、リモートデータテーブルに接続するための機能プラグインです。現在、MySQL と PostgreSQL のデータベースに対応しています。
- データソースへの接続 とは、特定のデータベースまたは API サービスとの接続を確立し、データベースの機能や API が提供するサービスを完全に利用することを指します;
- 外部データテーブルへの接続 とは、外部からデータを取得してローカルで使用できるようにマッピングすることを指します。データベースでは FDW(Foreign Data Wrapper)と呼ばれる技術で、リモートテーブルをローカルテーブルとして扱うことに重点を置いており、1 回につき 1 つのテーブルに接続できます。リモートアクセスであるため、使用時にはさまざまな制約や制限があります。
両者を組み合わせて使用することもできます。前者でデータソースとの接続を確立し、後者でデータソースをまたいだアクセスを行います。たとえば、ある PostgreSQL データソースに接続し、そのデータソース内のテーブルが FDW に基づいて作成された外部データテーブルである場合などです。
MySQL
MySQL では federated エンジンを使用します。事前に有効化する必要があり、リモートの MySQL および MariaDB などの互換プロトコルを持つデータベースへの接続に対応しています。詳しくは Federated Storage Engine のドキュメントを参照してください。
PostgreSQL
PostgreSQL では、異なる種類の fdw 拡張機能によって、さまざまなリモートデータタイプに対応できます。現在、以下の拡張機能に対応しています:
- postgres_fdw:PostgreSQL からリモートの PostgreSQL データベースに接続します。
- mysql_fdw(開発中):PostgreSQL からリモートの MySQL データベースに接続します。
- その他の種類の fdw 拡張機能については、PostgreSQL Foreign Data Wrappers を参照してください。NocoBase に接続するには、コード内で対応するアダプターインターフェースを実装する必要があります。
インストール
前提条件
- NocoBase のメインデータベースが MySQL の場合は、
federatedを有効化する必要があります。詳しくは MySQL で federated エンジンを有効にする方法 を参照してください。
その後、プラグインマネージャーからプラグインをインストールして有効化します。

使用方法
「データテーブル管理 > データテーブルを作成」のドロップダウンから、「外部データに接続」を選択します。

「データベースサービス」のドロップダウンから、既存のデータベースサービス、または「データベースサービスを作成」を選択します。

データベースサービスを作成します。

データベースサービスを選択した後、「リモートテーブル」のドロップダウンから、接続するデータテーブルを選択します。

フィールド情報を設定します。

リモートテーブルの構造に変更があった場合は、「リモートテーブルから同期」を実行できます。

リモートテーブルを同期します。

最後に、画面上に表示されます。


