CREATE FOREIGN DATA WRAPPER

CREATE FOREIGN DATA WRAPPER — definir un nuevo envolvedor de datos foráneos (foreign-data wrapper)

Synopsis

CREATE FOREIGN DATA WRAPPER nombre
    [ HANDLER función_manejadora | NO HANDLER ]
    [ VALIDATOR función_validadora | NO VALIDATOR ]
    [ OPTIONS ( opción 'valor' [, ... ] ) ]

Descripción

CREATE FOREIGN DATA WRAPPER crea un nuevo envolvedor de datos foráneos. El usuario que define un envolvedor de datos foráneos se convierte en su propietario.

El nombre del envolvedor de datos foráneos debe ser único dentro de la base de datos.

Solo los superusuarios pueden crear envolvedores de datos foráneos.

Parámetros

nombre

El nombre del envolvedor de datos foráneos que se va a crear.

HANDLER función_manejadora

función_manejadora es el nombre de una función previamente registrada que será llamada para recuperar las funciones de ejecución para las tablas foráneas. La función manejadora no debe recibir argumentos, y su tipo de retorno debe ser fdw_handler.

Es posible crear un envolvedor de datos foráneos sin una función manejadora, pero las tablas foráneas que utilicen dicho envolvedor solo podrán ser declaradas, no accedidas.

VALIDATOR función_validadora

función_validadora es el nombre de una función previamente registrada que será llamada para verificar las opciones genéricas proporcionadas al envolvedor de datos foráneos, así como las opciones para servidores foráneos, mapeos de usuarios y tablas foráneas que utilicen el envolvedor de datos foráneos. Si no se especifica ninguna función validadora o se indica NO VALIDATOR, las opciones no se verificarán en el momento de la creación. (Los envolvedores de datos foráneos posiblemente ignoren o rechacen especificaciones de opciones no válidas en tiempo de ejecución, según la implementación). La función validadora debe recibir dos argumentos: uno de tipo text[], que contendrá el array de opciones tal como se almacenan en los catálogos del sistema, y otro de tipo oid, que será el OID del catálogo del sistema que contiene las opciones. Se ignora el tipo de retorno; la función debe informar de las opciones no válidas utilizando la función ereport(ERROR).

OPTIONS ( opción 'valor' [, ... ] )

Esta cláusula especifica opciones para el nuevo envolvedor de datos foráneos. Los nombres y valores de opciones permitidos son específicos de cada envolvedor de datos foráneos y se validan mediante la función validadora del mismo. Los nombres de opciones deben ser únicos.

Notas

La funcionalidad de datos foráneos de PostgreSQL todavía está bajo desarrollo activo. La optimización de consultas es rudimentaria (y en su mayor parte también se deja al envolvedor). Por lo tanto, hay un margen considerable para futuras mejoras de rendimiento.

Ejemplos

Crea un envolvedor de datos foráneos inútil llamado dummy:

CREATE FOREIGN DATA WRAPPER dummy;

Crea un envolvedor de datos foráneos llamado file con la función manejadora file_fdw_handler:

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

Crea un envolvedor de datos foráneos llamado mywrapper con algunas opciones:

CREATE FOREIGN DATA WRAPPER mywrapper
    OPTIONS (debug 'true');

Compatibilidad

CREATE FOREIGN DATA WRAPPER cumple con el estándar ISO/IEC 9075-9 (SQL/MED), con la excepción de que las cláusulas HANDLER y VALIDATOR son extensiones, y las cláusulas estándar LIBRARY y LANGUAGE no están implementadas en PostgreSQL.

Ten en cuenta, sin embargo, que la funcionalidad SQL/MED en su conjunto aún no es conforme.

Consulte también

ALTER FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE