DROP SCHEMA — 스키마 삭제하기
DROP SCHEMA — 스키마 삭제하기
DROP SCHEMA은 데이터베이스에서 스키마를 제거하는 명령이에요. 스키마는 소유자나 슈퍼유저만 삭제할 수 있습니다. 스키마 안에 객체가 들어 있다면 기본값(RESTRICT)에서는 삭제를 거부하므로, 안의 것을 통째로 지우고 싶을 때는 CASCADE를 써야 해요.
출처: PostgreSQL 문서
본문
Synopsis
DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Description
DROP SCHEMA은 데이터베이스에서 스키마를 제거해요.
스키마는 소유자 또는 슈퍼유저만 삭제할 수 있어요. 소유자는 스키마 안의 일부 객체를 소유하지 않더라도 그 스키마(그리고 그 안의 모든 객체)를 삭제할 수 있다는 점을 참고하세요.
Parameters
- IF EXISTS — 스키마가 존재하지 않아도 오류를 던지지 않아요. 이 경우에는 통지(notice)만 발행됩니다.
- name — 스키마의 이름.
- CASCADE — 스키마에 포함된 객체(테이블, 함수 등)와, 나아가 그 객체들에 의존하는 모든 객체를 자동으로 함께 삭제해요 (5.15절 참고).
- RESTRICT — 스키마에 객체가 포함되어 있으면 삭제를 거부해요. 이게 기본값이에요.
Notes
CASCADE 옵션을 쓰면 명령이 지정된 스키마 외의 다른 스키마에 있는 객체까지 제거할 수 있어요.
Examples
mystuff 스키마와 그 안의 모든 것을 데이터베이스에서 제거하려면:
DROP SCHEMA mystuff CASCADE;
Compatibility
DROP SCHEMA은 SQL 표준을 따르지만, 다음 두 가지 차이가 있어요. 표준은 명령 하나로 스키마를 하나만 삭제할 수 있고, PostgreSQL 확장인 IF EXISTS 옵션 정도가 다릅니다.