CREATE FOREIGN DATA WRAPPER

CREATE FOREIGN DATA WRAPPER — define um novo empacotador de dados estrangeiros

Sinopse

CREATE FOREIGN DATA WRAPPER nome
    [ HANDLER função_manipuladora | NO HANDLER ]
    [ VALIDATOR função_validadora | NO VALIDATOR ]
    [ OPTIONS ( opção 'valor' [, ... ] ) ]

Descrição

O comando CREATE FOREIGN DATA WRAPPER define um novo empacotador de dados estrangeiros [122]. O usuário que define o empacotador de dados estrangeiros se torna o seu dono.

O nome do empacotador de dados estrangeiros deve ser único no banco de dados.

Somente os superusuários podem criar empacotadores de dados estrangeiros.

Parâmetros

nome

O nome do empacotador de dados estrangeiros a ser criado.

HANDLER função_manipuladora

A função_manipuladora é uma função previamente registrada que será chamada para recuperar as funções de execução para tabelas estrangeiras. A função manipuladora não deve receber argumentos, e seu tipo de dados retornado deve ser fdw_handler.

É possível criar um empacotador de dados estrangeiros sem nenhuma função manipuladora, mas as tabelas estrangeiras que usam este empacotador só podem ser declaradas, e não acessadas.

VALIDATOR função_validadora

A função_validadora é uma função previamente registrada que será chamada para verificar as opções genéricas fornecidas ao empacotador de dados estrangeiros, bem como as opções para os servidores estrangeiros, mapeamentos de usuários e tabelas estrangeiras usando o empacotador de dados estrangeiros. Se nenhuma função validadora ou NO VALIDATOR for especificado, as opções não serão verificadas no momento da criação. (Os empacotadores de dados estrangeiros possivelmente irão ignorar ou rejeitar as especificações de opções inválidas em tempo de execução, dependendo da implementação.) A função validadora deve receber dois argumentos: um do tipo text[], contendo a matriz de opções conforme armazenado nos catálogos do sistema, e um do tipo oid, que será o OID do catálogo do sistema contendo as opções. O tipo de dados de retorno é ignorado; a função deverá relatar as opções inválidas usando a função ereport(ERROR).

OPTIONS ( opção 'valor' [, ... ] )

Esta cláusula especifica opções para o novo empacotador de dados estrangeiros. Os nomes e valores de opção permitidos são específicos para cada empacotador de dados estrangeiros, e são validados usando a função validadora do empacotador de dados estrangeiros. Os nomes das opções devem ser únicos.

Notas

A funcionalidade de dados estrangeiros do PostgreSQL continua em desenvolvimento ativo. A otimização de consultas é primitiva (e principalmente deixada para o empacotador também). Assim, há espaço considerável para futuras melhorias de desempenho. [123]. [124]

Exemplos

Criar o empacotador de dados estrangeiros inútil dummy:

CREATE FOREIGN DATA WRAPPER dummy;

Criar o empacotador de dados estrangeiros file, com a função manipuladora file_fdw_handler:

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

Criar o empacotador de dados estrangeiros meu_empacotador com algumas opções:

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

Conformidade

O comando CREATE FOREIGN DATA WRAPPER está em conformidade com o padrão ISO/IEC 9075-9 (SQL/MED), com a exceção de que as cláusulas HANDLER e VALIDATOR são extensões, e as cláusulas LIBRARY e LANGUAGE do padrão não são implementadas no PostgreSQL.

Note, entretanto, que a funcionalidade SQL/MED ainda não está em conformidade na totalidade.

Veja também

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


[122] O módulo postgres_fdw fornece o empacotador de dados estrangeiros postgres_fdw, que pode ser usado para acessar dados armazenados em servidores PostgreSQL externos. (N. T.)