Conectar tablas de datos externas (FDW)
Collection: Connect to foreign data (FDW)Community Edition+Introducción
Complemento para conectar tablas de datos remotas mediante la implementación de foreign data wrapper de la base de datos. Actualmente admite bases de datos MySQL y PostgreSQL.
- Conectar una fuente de datos significa establecer una conexión con una base de datos específica o un servicio de API para utilizar todas las características de la base de datos o los servicios proporcionados por la API;
- Conectar tablas de datos externas significa obtener datos externos y asignarlos para usarlos localmente. En las bases de datos se denomina FDW (Foreign Data Wrapper), una tecnología de bases de datos que se centra en utilizar tablas remotas como tablas locales y solo permite conectar las tablas una por una. Debido a que se accede a ellas de forma remota, existen diversas restricciones y limitaciones durante su uso.
Ambas opciones también pueden utilizarse conjuntamente: la primera sirve para establecer la conexión con la fuente de datos y la segunda para acceder a datos entre distintas fuentes. Por ejemplo, tras conectar una fuente de datos de PostgreSQL, una de sus tablas puede ser una tabla de datos externa creada mediante FDW.
MySQL
MySQL utiliza el motor federated, que debe activarse. Admite conexiones con MySQL remoto y con bases de datos compatibles con su protocolo, como MariaDB. Para obtener más información, consulta la documentación de Federated Storage Engine.
PostgreSQL
En PostgreSQL, se pueden admitir distintos tipos de datos remotos mediante diferentes extensiones fdw. Actualmente, se admiten las siguientes extensiones:
- postgres_fdw: conecta PostgreSQL con una base de datos PostgreSQL remota.
- mysql_fdw (en desarrollo): conecta PostgreSQL con una base de datos MySQL remota.
- Para otros tipos de extensiones fdw, consulta PostgreSQL Foreign Data Wrappers. Para integrarlas con NocoBase, es necesario implementar la interfaz de adaptación correspondiente en el código.
Instalación
Requisitos previos
- Si la base de datos principal de NocoBase es MySQL, es necesario activar
federated. Consulta Cómo habilitar el motor federated en MySQL.
A continuación, instala y activa el complemento mediante el administrador de complementos.

Guía de uso
En el menú desplegable «Gestión de tablas de datos > Crear tabla de datos», selecciona «Conectar datos externos».

En el menú desplegable «Servicio de base de datos», selecciona un servicio de base de datos existente o «Crear servicio de base de datos».

Crear un servicio de base de datos

Después de seleccionar el servicio de base de datos, en el menú desplegable «Tabla remota», selecciona la tabla de datos que deseas conectar.

Configurar la información de los campos

Si la tabla remota cambia de estructura, también puedes seleccionar «Sincronizar desde la tabla remota».

Sincronización de la tabla remota

Por último, se mostrará en la interfaz.


