DROP USER - Amazon Redshift

DROP USER

데이터베이스에서 사용자를 삭제합니다. 단 한 번의 DROP USER 명령으로 여러 사용자를 삭제할 수 있습니다. 이 명령을 실행하려면 데이터베이스 수퍼유저이거나 DROP USER 권한이 있어야 합니다.

구문

DROP USER [ IF EXISTS ] name [, ... ]

파라미터

IF EXISTS

지정된 사용자가 존재하지 않는 경우 오류 메시지와 함께 종료하는 대신, 명령이 아무 것도 변경하지 않고 사용자가 존재하지 않는다는 메시지를 반환함을 나타내는 절입니다.

이 절은 스크립트 작성 시 유용하므로, DROP USER가 존재하지 않는 사용자에 대해 실행되는 경우에는 스크립트가 실패하지 않습니다.

이름

제거할 사용자의 이름입니다. 제거할 각 사용자의 이름을 다음으로 제거할 이름과 구분하는 쉼표를 사용하여 여러 사용자를 지정할 수 있습니다.

사용 노트

일반적으로 이름이 rdsdb인 사용자 또는 보통 이름이 awsuser 또는 admin인 데이터베이스의 관리자 사용자는 삭제할 수 없습니다.

스키마, 데이터베이스, 테이블 또는 뷰와 같은 데이터베이스 객체를 소유하거나 데이터베이스, 테이블, 열 또는 그룹에 대한 권한이 있는 사용자는 삭제할 수 없습니다. 그런 사용자를 삭제하려고 하면 다음 오류 중 하나를 수신합니다.

ERROR: user "username" can't be dropped because the user owns some object [SQL State=55006] ERROR: user "username" can't be dropped because the user has a privilege on some object [SQL State=55006]

데이터베이스 사용자가 소유한 객체를 찾는 방법에 대한 자세한 지침은 지식 센터에서 Amazon Redshift에서 '사용자를 삭제할 수 없습니다' 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

참고

Amazon Redshift는 현재 데이터베이스만 확인한 후 사용자를 삭제합니다. 사용자가 데이터베이스 객체를 소유하고 있거나 다른 데이터베이스에 있는 객체에 대해 어떤 권한이든 있으면 DROP USER가 오류를 반환하지 않습니다. 다른 데이터베이스에 있는 객체를 소유한 사용자를 삭제하면 해당 객체의 소유자가 'unknown'으로 변경됩니다.

사용자가 객체를 소유한 경우에는 먼저 객체를 삭제하거나 그 소유권을 다른 사용자로 변경한 후 원래 사용자를 삭제합니다. 사용자가 객체에 대한 권한을 가지고 있을 경우 먼저 권한을 취소한 후 사용자를 삭제하십시오. 다음 예에서는 객체 삭제, 소유권 변경 및 권한 취소 후 사용자 삭제를 보여줍니다.

drop database dwdatabase; alter schema dw owner to dwadmin; revoke all on table dwtable from dwuser; drop user dwuser;

다음 예에서는 paulo라는 사용자를 삭제합니다.

drop user paulo;

다음 예시에서는 paulo와 martha라는 두 명의 사용자를 삭제합니다.

drop user paulo, martha;

다음 예에서는 사용자 paulo가 존재하는 경우에는 이를 삭제하고 존재하지 않는 경우에는 아무 작업도 수행하지 않고 메시지를 반환합니다.

drop user if exists paulo;