このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
外部データテーブルの接続 (FDW)
紹介
データベースの Foreign Data Wrapper (FDW) に基づいて、リモートデータテーブルに接続する機能です。現在、MySQL および PostgreSQL データベースをサポートしています。
- データソースの接続とは、特定のデータベースや API サービスとの接続を確立することを指します。データベースの機能や API が提供するサービスをフルに活用できます。
- 外部データテーブルの接続とは、外部からデータを取得し、ローカルで使用するためにマッピングすることを指します。データベース用語では FDW (Foreign Data Wrapper) と呼ばれ、リモートテーブルをローカルテーブルとして扱うことに特化した技術です。一度に接続できるのは 1 テーブルずつです。リモートアクセスであるため、使用時にはさまざまな制約や制限があります。
これら 2 つを組み合わせて使用することも可能です。前者はデータソースとの接続を確立するために使用し、後者はデータソースをまたいだアクセスに使用します。例えば、ある 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 エンジンを有効にする方法 を参照してください。
その後、プラグインマネージャーからプラグインをインストールして有効化します。

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

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

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

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

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

リモートテーブルの構造に変更があった場 合は、「リモートテーブルから同期」することも可能です。

リモートテーブルの同期。

最後に、インターフェースに表示されます。


