CREATE SERVER
CREATE SERVER
외부 서버(foreign server)를 새로 정의하는 명령이에요. 외부 데이터를 다루려면 어떤 방식으로 그 외부 자원에 연결할지 정해줘야 하는데, CREATE SERVER가 바로 그 연결 정보를 담는 서버 객체를 만들어 줍니다.
출처: PostgreSQL 문서
본문
문법 (Synopsis)
CREATE SERVER [ IF NOT EXISTS ] server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ]
FOREIGN DATA WRAPPER fdw_name
[ OPTIONS ( option 'value' [, ... ] ) ]
설명 (Description)
CREATE SERVER는 새 외부 서버를 정의해요. 서버를 정의한 사용자가 그 서버의 소유자가 됩니다.
외부 서버는 보통 외부 데이터 래퍼(foreign-data wrapper)가 외부 데이터 자원에 접근할 때 사용하는 연결 정보를 담아요. 사용자별로 다른 연결 정보는 사용자 매핑(user mapping)으로 지정할 수 있습니다.
서버 이름은 데이터베이스 안에서 유일해야 해요. 서버를 만들려면 사용할 외부 데이터 래퍼에 대한 USAGE 권한이 필요합니다.
파라미터 (Parameters)
IF NOT EXISTS— 같은 이름의 서버가 이미 있어도 오류를 내지 않아요. 이 경우 공지(notice)만 발행됩니다. 다만 이미 있는 서버가 새로 만들려던 서버와 같을 거라는 보장은 없어요.server_name— 만들 외부 서버의 이름.server_type— 선택적 서버 유형. 외부 데이터 래퍼에 유용할 수 있어요.server_version— 선택적 서버 버전. 외부 데이터 래퍼에 유용할 수 있어요.fdw_name— 이 서버를 관리하는 외부 데이터 래퍼의 이름.OPTIONS ( option 'value' [, ... ] )— 서버의 옵션을 지정하는 절이에요. 옵션은 보통 서버의 연결 세부 정보를 정의하지만, 실제 이름과 값은 서버의 외부 데이터 래퍼에 따라 달라집니다.
주의 사항 (Notes)
dblink 모듈을 쓸 때 외부 서버 이름을 dblink_connect 함수의 인자로 사용해 연결 파라미터를 가리킬 수 있어요. 이렇게 쓰려면 외부 서버에 대한 USAGE 권한이 있어야 합니다.
외부 서버가 정렬 푸시다운(sort pushdown)을 지원한다면, 로컬 서버와 동일한 정렬 순서를 가져야 해요.
예제 (Examples)
postgres_fdw 외부 데이터 래퍼를 쓰는 서버 myserver를 만들어 볼게요.
CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', dbname 'foodb', port '5432');
자세한 내용은 postgres_fdw 문서를 참고하세요.
호환성 (Compatibility)
CREATE SERVER는 ISO/IEC 9075-9 (SQL/MED)를 따릅니다.
함께 보기 (See Also)
ALTER SERVER, DROP SERVER, CREATE FOREIGN DATA WRAPPER, CREATE FOREIGN TABLE, CREATE USER MAPPING
더 알아보기 (Learn more)
CREATE FOREIGN DATA WRAPPER: 외부 데이터 래퍼를 새로 정의하는 명령.CREATE USER MAPPING: 외부 서버 연결에 필요한 사용자 매핑을 정의하는 명령.