Подключение внешних таблиц данных (FDW)
Введение
Эта функция подключает удалённые таблицы данных на основе Foreign Data Wrapper базы данных. В настоящее время поддерживаются базы данных MySQL и PostgreSQL.
::::info{title="Подключение источников данных и подключение внешних таблиц данных"}
- Подключение источников данных — это установка соединения с конкретной БД или API-сервисом; при этом вы можете полностью использовать возможности БД или сервисы, предоставляемые API.
- Подключение внешних таблиц данных — это получение данных извне и их отображение (mapping) для локального использования. В БД это называется FDW (Foreign Data Wrapper): технология, ориентированная на использование удалённых таблиц как локальных. Обычно можно подключать по одной таблице за раз. Поскольку доступ удалённый, при использовании появляются различные ограничения.
Эти подходы также можно сочетать. Первый используется для подключения к источнику данных, а второй — для кросс-доступа между источниками данных. Например, подключён некоторый источник данных PostgreSQL, а часть таблиц в этом источнике — это внешние таблицы данных, созданные на основе FDW. ::::
MySQL
MySQL использует движок federated, который нужно активировать. Он поддерживает подключение к удалённым MySQL и совместимым по протоколу БД, например MariaDB. Подробнее см. в документации Federated Storage Engine.
PostgreSQL
В PostgreSQL можно использовать различные типы расширений fdw для поддержки разных типов удалённых данных. Сейчас поддерживаются следующие расширения:
- postgres_fdw: подключение к удалённой базе PostgreSQL из PostgreSQL.
- mysql_fdw: подключение к удалённой базе MySQL из PostgreSQL.
- Для других типов расширений fdw см. PostgreSQL Foreign Data Wrappers. В коде нужно реализовать соответствующий интерфейс адаптации.
Предварительные требования
- Если основная база данных NocoBase — MySQL, необходимо активировать
federated. См. Как включить движок Federated в MySQL
Затем установите и активируйте плагин через менеджер плагинов.

Руководство пользователя
В разделе "Управление коллекциями > Создать коллекцию" выберите "Подключение к внешним данным".

В выпадающем списке "Сервер базы данных" выберите существующий сервер базы данных или "Создать сервер базы данных".

Создайте сервер базы данных.

После выбора сервера базы данных в выпадающем списке "Удалённая таблица" выберите таблицу, которую нужно подключить.

Настройте информацию о полях.

Если структура удалённой таблицы изменилась, вы можете выполнить "Синхронизировать из удалённой таблицы".

Синхронизация удалённой таблицы:

Наконец, выведите данные в интерфейсе.


