DROP OWNED — 데이터베이스 역할이 소유한 객체 제거
DROP OWNED — 데이터베이스 역할이 소유한 객체 제거
DROP OWNED 문으로 지정된 역할(role)이 소유한, 현재 데이터베이스 안의 모든 객체를 제거합니다. 역할을 삭제하기 전에 그 소유 객체들을 정리하는 용도로 자주 써요.
출처: PostgreSQL 문서
본문
개요 (Synopsis)
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
설명 (Description)
DROP OWNED는 현재 데이터베이스 안에서 지정된 역할 중 하나가 소유한 모든 객체를 삭제해요. 해당 역할들에게 현재 데이터베이스의 객체 또는 공유 객체(데이터베이스, 테이블스페이스, 설정 파라미터)에 부여된 권한도 함께 회수(revoke)됩니다.
매개변수 (Parameters)
- name — 객체가 삭제되고 권한이 회수될 역할의 이름이에요.
- CASCADE — 영향받는 객체에 의존하는 객체와, 그 객체들에 의존하는 모든 객체를 자동으로 삭제해요(5.15절 참고).
- RESTRICT — 어떤 다른 데이터베이스 객체가 영향받는 객체 중 하나에 의존하면, 그 역할이 소유한 객체의 삭제를 거부해요. 이것이 기본값이에요.
참고 사항 (Notes)
DROP OWNED는 하나 이상의 역할을 제거하기 위한 준비로 자주 쓰여요. DROP OWNED는 현재 데이터베이스의 객체에만 영향을 주므로, 제거 대상 역할이 객체를 소유한 각 데이터베이스마다 이 명령을 실행해야 하는 것이 보통이에요.
CASCADE 옵션을 쓰면 명령이 다른 사용자가 소유한 객체로까지 재귀할 수 있어요.
REASSIGN OWNED 명령은 하나 이상의 역할이 소유한 모든 데이터베이스 객체의 소유권을 다른 역할로 재지정하는 대안이에요. 다만 REASSIGN OWNED는 다른 객체에 대한 권한은 처리하지 않습니다.
역할(들)이 소유한 데이터베이스와 테이블스페이스는 제거되지 않아요.
더 많은 논의는 21.4절을 참고하세요.
호환성 (Compatibility)
DROP OWNED 명령은 PostgreSQL 확장이에요.
함께 보기 (See Also)
- REASSIGN OWNED — 객체 소유권 재지정
- DROP ROLE — 역할 제거
더 알아보기 (Learn more)
- REASSIGN OWNED — 삭제 대신 소유권을 넘기는 대안
- DROP ROLE — 역할 자체를 제거
- 데이터베이스 역할 — 역할 관리 전반