このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
外部データテーブル(FDW)に接続する
コレクション:外部データへの接続(FDW)Community Edition+概要
このプラグインは、データベースの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エンジンを有効にする方法をご参照ください。
その後、プラグインマネージャーからプラグインをインストールして有効化します。

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

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

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

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

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

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

リモートテーブルの同期

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


