DROP DATABASE

DROP DATABASE — 데이터베이스 삭제

요약

DROP DATABASE [ IF EXISTS ] 이름 [ [ WITH ] ( 옵션 [, ...] ) ]

설명

DROP DATABASE 명령은 지정한 데이터베이스를 삭제한다. 이 작업은 전역 카탈로그 정보에서 해당 데이터베이스 정보를 삭제하고, 그 데이터베이스의 물리적 디렉터리도 모두 삭제한다. 이 작업은 데이터페이스 소유주만 실행할 수 있다. 지우려고 하는 데이터베이스에 접속해 있다면, 그 데이터베이스는 지울 수 없다. (이 때는 postgres 또는 그 데이터베이스가 아닌 다른 데이터베이스로 접속해서 실행하면 된다.) 또, 다른 세션이 그 데이터베이스에 접속해 있어도 삭제할 수 없다. 이 경우는 FORCE 옵션을 사용해 이것을 무시하고 삭제할 수 있다. 아래 옵션 부분에서 설명한다.

DROP DATABASE 명령은 한 번 실행되면 복구가 불가능하다. 손 떨리게 명령을 내릴 것!

매개 변수

IF EXISTS

해당 데이터베이스가 없는 경우에도 오류로 처리하지 않고자 할 때 사용하다. 해당 데이터베이스가 없다는 알림만 보여준다.

이름

삭제 하려는 데이터베이스 이름

FORCE

Attempt to terminate all existing connections to the target database. It doesn't terminate if prepared transactions, active logical replication slots or subscriptions are present in the target database.

This will fail if the current user has no permissions to terminate other connections. Required permissions are the same as with pg_terminate_backend, described in 9.27.2절. This will also fail if we are not able to terminate connections.

참고

DROP DATABASE 명령은 트랜잭션 안에서는 사용할 수 없다.

이 명령은 해당 데이터베이스로 접속된 세션이 있는 경우에는 정상적으로 실행되지 않는다. 그래서, 좀 더 편하게 이 명령을 수행할 수 있도록 dropdb 프로그램을 제공하고 있다.

호환성

DROP DATABASE 구문은 표준 SQL에는 없다.

관련 항목

CREATE DATABASE