ALTER FOREIGN DATA WRAPPER — 외부 데이터 래퍼 정의 변경하기
ALTER FOREIGN DATA WRAPPER — 외부 데이터 래퍼 정의 변경하기
ALTER FOREIGN DATA WRAPPER는 이미 존재하는 외부 데이터 래퍼(foreign-data wrapper, FDW)의 정의를 바꾸는 명령이에요. 핸들러·검증 함수를 바꾸거나 일반 옵션을 조정하고, 소유자나 이름을 바꿀 때 씁니다. 외부 데이터 소스와 연결되는 방식을 관리하는 래퍼 설정을 다루죠.
출처: PostgreSQL 문서
본문
시놉시스 (Synopsis)
ALTER FOREIGN DATA WRAPPER name
[ HANDLER handler_function | NO HANDLER ]
[ VALIDATOR validator_function | NO VALIDATOR ]
[ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ]
ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER FOREIGN DATA WRAPPER name RENAME TO new_name
설명 (Description)
ALTER FOREIGN DATA WRAPPER는 외부 데이터 래퍼의 정의를 변경해요. 첫 번째 형식은 외부 데이터 래퍼의 지원 함수나 일반 옵션을 바꿔요(적어도 하나의 절은 필요해요). 두 번째 형식은 외부 데이터 래퍼의 소유자를 바꿔요.
외부 데이터 래퍼는 슈퍼유저만 변경할 수 있어요. 또한 외부 데이터 래퍼는 슈퍼유저만 소유할 수 있어요.
매개변수 (Parameters)
name— 기존 외부 데이터 래퍼의 이름이에요.HANDLER handler_function— 외부 데이터 래퍼의 새 핸들러 함수를 지정해요.NO HANDLER— 외부 데이터 래퍼가 더 이상 핸들러 함수를 갖지 않도록 지정할 때 써요. 핸들러가 없는 외부 데이터 래퍼를 쓰는 외부 테이블은 접근할 수 없다는 점에 주의하세요.VALIDATOR validator_function— 외부 데이터 래퍼의 새 검증 함수를 지정해요. 외부 데이터 래퍼의 기존 옵션이나, 의존하는 서버·사용자 매핑·외부 테이블의 옵션이 새 검증 함수 기준으로는 유효하지 않을 수 있어요. PostgreSQL은 이를 확인하지 않아요. 수정된 외부 데이터 래퍼를 사용하기 전에 이 옵션들이 올바른지 확인하는 건 사용자의 몫이에요. 다만 이ALTER FOREIGN DATA WRAPPER명령에서 지정된 모든 옵션은 새 검증 함수로 검사될 거예요.NO VALIDATOR— 외부 데이터 래퍼가 더 이상 검증 함수를 갖지 않도록 지정할 때 써요.OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )— 외부 데이터 래퍼의 옵션을 변경해요.ADD,SET,DROP이 수행할 동작을 지정해요. 동작을 명시하지 않으면ADD로 간주돼요. 옵션 이름은 유일해야 하며, 이름과 값은 외부 데이터 래퍼의 검증 함수(있으면)로도 검사돼요.new_owner— 외부 데이터 래퍼의 새 소유자 사용자 이름이에요.new_name— 외부 데이터 래퍼의 새 이름이에요.
예제 (Examples)
외부 데이터 래퍼 dbi의 옵션을 바꿔, foo를 추가하고 bar를 제거하려면:
ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP bar);
외부 데이터 래퍼 dbi의 검증 함수를 bob.myvalidator로 바꾸려면:
ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;
호환성 (Compatibility)
ALTER FOREIGN DATA WRAPPER는 HANDLER, VALIDATOR, OWNER TO, RENAME 절이 확장이라는 점을 제외하면 ISO/IEC 9075-9 (SQL/MED)를 따릅니다.
더 알아보기 (Learn more)
- CREATE FOREIGN DATA WRAPPER — 새 외부 데이터 래퍼를 만드는 명령이에요.
- DROP FOREIGN DATA WRAPPER — 외부 데이터 래퍼를 삭제하는 명령이에요.
- CREATE SERVER — 외부 데이터 소스 서버를 만드는 명령이에요.