REASSIGN OWNED
REASSIGN OWNED
하나 이상의 데이터베이스 역할이 소유한 모든 데이터베이스 객체의 소유권을 다른 역할로 변경하는 명령이에요. 역할을 제거하기 전에 그 소유 객체를 정리할 때 흔히 사용해요.
출처: PostgreSQL 문서
본문
개요 (Synopsis)
REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
설명 (Description)
REASSIGN OWNED는 시스템에게 old_roles 중 어느 하나가 소유한 데이터베이스 객체의 소유권을 new_role로 변경하라고 지시해요.
파라미터 (Parameters)
*old_role* — 역할의 이름이에요. 이 역할이 소유한 현재 데이터베이스 안의 모든 객체와 모든 공유 객체(데이터베이스, 테이블스페이스)의 소유권이 new_role로 다시 지정돼요.
*new_role* — 해당 객체의 새 소유자가 될 역할의 이름이에요.
참고 (Notes)
REASSIGN OWNED는 하나 이상의 역할을 제거하기 위한 준비로 자주 사용돼요. REASSIGN OWNED는 다른 데이터베이스 안의 객체에는 영향을 주지 않으므로, 보통 제거할 역할이 소유한 객체가 있는 각 데이터베이스에서 이 명령을 실행해야 해요.
REASSIGN OWNED는 소스 역할(들)과 대상 역할 모두의 구성원이어야 해요.
DROP OWNED 명령은 하나 이상의 역할이 소유한 모든 데이터베이스 객체를 그냥 삭제하는 대안이에요.
REASSIGN OWNED 명령은 old_roles에 부여된, 그들이 소유하지 않은 객체에 대한 어떤 권한에도 영향을 주지 않아요. 마찬가지로 ALTER DEFAULT PRIVILEGES로 만든 기본 권한에도 영향을 주지 않아요. 그런 권한을 박탈하려면 DROP OWNED를 사용하세요.
자세한 논의는 21.4절을 참고하세요.
호환성 (Compatibility)
REASSIGN OWNED 명령은 PostgreSQL 확장이에요.
더 알아보기 (Learn more)
역할이 소유한 객체를 삭제하는 방법은 DROP OWNED 문서를, 역할과 멤버십의 개념은 “Database Roles” 절을 함께 보면 좋아요.