CREATE SERVER — 새 외부 서버 정의
CREATE SERVER [ IF NOT EXISTS ]서버이름
[ TYPE '서버종류
' ] [ VERSION '서버버전
' ] FOREIGN DATA WRAPPERfdw이름
[ OPTIONS (옵션
'값
' [, ... ] ) ]
CREATE SERVER
명령은 외부 서버를 만든다.
이 명령을 실행하는 사용자가 해당 외부 서버의 소유주가 된다.
외부 서버란, 외부 자료를 접근하기 위해 사용하는 외부 자료 싸개 foreign-data wrapper 의 접속 정보를 캡슐화한 것이다. 더불어, 이 접속에 필요한 사용자와 로컬 데이터베이스 사용자와 연결 mapping 하는 작업(CREATE USER MAPPING)도 필요할 수 있다.
이 서버 이름은 현 데이터베이스 내 유일해야 한다.
외부 서버를 만드려면 이 명령을 실행하는 사용자가 먼저 해당 외부 자료
싸개에 대해서 USAGE
권한이 있어야 한다.
IF NOT EXISTS
같은 이름의 외부 서버가 이미 있으면, 알림 메시지만 보이고, 무시한다. 이 때 그 이름만 확인하지, 그 외부 서버가 지금 만들고자 하는 외부 서버와 속성까지 같은지는 확인하지 않는다.
서버이름
새로 만들 외부 서버 이름.
서버종류
서버 종류 옵션, 이것은 외부 자료 싸개 내부 작업에 사용 된다.
서버버전
서버 버전 옵션, 이것은 외부 자료 싸개 내부 작업에 사용 된다.
fdw이름
해당 외부 서버에서 사용하는 외부 자료 싸개 이름.
OPTIONS ( 옵션
'값
' [, ... ] )
해당 외부 서버 전용 옵션들. 일반적으로 이 옵션은 서버 접속 정보를 포함하며, 각 옵션 이름과 사용할 수 있는 값은 외부 자료 싸개에 의존적이다.
dblink 모듈을 사용한다면,
dblink_connect 함수에서 지정한
인자를 이 외부 서버 이름으로 사용할 수 있다.
이 방법으로 외부 서버를 사용하려면, 해당 서버에 대해서
그 사용자에게 USAGE
권한을 부여해야 한다.
postgres_fdw
외부 자료 싸개를 사용하는
myserver
이름의 외부 서버 만들기:
CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', dbname 'foodb', port '5432');
이 부분은 postgres_fdw에서 자세히 다룬다.
CREATE SERVER
구문은 ISO/IEC 9075-9 (SQL/MED) 규약을
준수한다.