CREATE FOREIGN DATA WRAPPER

CREATE FOREIGN DATA WRAPPER — 새 외부 자료 싸개 정의

요약

CREATE FOREIGN DATA WRAPPER 이름
    [ HANDLER 핸들러함수 | NO HANDLER ]
    [ VALIDATOR 유효성검사함수 | NO VALIDATOR ]
    [ OPTIONS ( 옵션 '' [, ... ] ) ]

설명

CREATE FOREIGN DATA WRAPPER 명령은 새 외부 자료 싸개를 만든다. 이 외부 자료 싸개를 만드는 사용자가 그것의 소유주가 된다.

해당 데이터베이스에서 지정한 이름의 외부 자료 싸개는 하나만 있어야 한다.

외부 자료 싸개는 슈퍼유저만 만들 수 있다.

매개 변수

이름

만들 외부 자료 싸개 이름.

HANDLER 핸들러함수

핸들러함수는 외부 테이블을 사용할 때 내부적으로 작업하는 내용이 담긴 함수다. 이 함수는 외부 자료 싸개를 만들기 전에 먼저 해당 데이터베이스에 등록되어 있어야 한다. 입력 인자는 없으며, 반환 자료형은 fdw_handler 자료형이어야 한다.

이 핸들러 함수를 지정하지 않고 외부 자료 싸개를 만들 수는 있지만, 이 경우 외부 테이블 정의만 할 수 있지, 그 테이블을 사용할 수는 없다.

VALIDATOR 유효성검사함수

유효성검사함수는 외부 자료 싸개에서 제공하는 일반 옵션의 유효성을 검사하는 함수 이름이다. 이 함수는 외부 자료 싸개를 만들기 전에 먼저 해당 데이터베이스에 등록되어 있어야 한다. 이 함수는 외부 자료 싸개를 이용하는 사용자 맵핑, 외부 서버의 옵션들, 외부 테이블의 유효성을 검사한다. 유효성 검사 함수를 지정하지 않거나, NO VALIDATOR 로 지정하면, 외부 자료 싸개를 이용하는 각 개체들을 만들 때, 유효성 검사를 하지 않는다. (각 외부 자료 싸개에 따라 각 개체들을 사용할 때 이 유효성 관련에 문제가 있는 경우 오류로 처리하거나 무시한다.) 유효성 검사 함수의 입력 인자는 두개를 사용하는데, 첫번째는 시스템 카탈로그 안에 저장되어 있는 옵션들의 배열인 text[] 자료형, 두번째는 그 자료가 있는 시스템 카탈로그의 OID를 지정하는 oid 자료형이다. 반환 자료형은 무시한다. 잘못된 옵션에 대한 오류 처리는 ereport(ERROR) 함수를 사용해야 한다.

OPTIONS ( 옵션 '' [, ... ] )

새 외부 자료 싸개에서 사용할 옵션을 지정한다. 여기서 사용할 수 있는 옵션과 그 값의 유효성은 외부 자료 싸개 유효성 검사 함수가 담당한다. 같은 옵션 이름은 한 명령에서 여러 번 사용할 수 없다.

참고

PostgreSQL 외부 자료 처리 기능은 여전히 개발 중이다. 쿼리 최적화 부분은 대부분 싸개가 모두 미흡하다. 그래서, 앞으로 성능 관련 부분은 많이 개선될 가능성이 있다.

예제

dummy 이름의 쓸모 없는 외부 자료 싸개 만들기:

CREATE FOREIGN DATA WRAPPER dummy;

file_fdw_handler 핸들러 함수를 이용하는 file 외부 자료 싸개 만들기:

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

옵션을 지정하는 외부 자료 싸개:

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

호환성

CREATE FOREIGN DATA WRAPPER 구문은 ISO/IEC 9075-9 (SQL/MED) 구문은 준수한다. 단 HANDLER VALIDATOR 옵션은 확장 기능이고, LIBRARY, LANGUAGE 옵션은 PostgreSQL에서 아직 지원하지 않는다.

하지만, 아직까지는 SQL/MED 모든 기능에 대해 호환하지는 않는다.

관련 항목

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