PostgreSQL | 데이터베이스(Database) | 데이터베이스 삭제 (DROP DATABASE)
DROP DATABASE 명령을 사용하여 생성 된 데이터베이스를 삭제하는 방법에 대해 설명합니다.
데이터베이스 삭제
생성된 데이터베이스를 삭제하려면 DROP DATABASE 명령을 사용한다. 형식은 다음과 같다.
DROP DATABASE [ IF EXISTS ] name
삭제할 데이터베이스 이름(name)을 지정하여 데이터베이스를 삭제한다.
데이터베이스를 삭제하려면 명령을 수행하는 역할이 수퍼 유저이거나 데이터베이스 소유자여야 한다. 또한 명령을 실행하려는 역할이나 다른 역할이 삭제하려는 데이터베이스에 연결되어 있는 동안은 제거할 수 없다. 삭제하려는 데이터베이스와 다른 데이터베이스에 연결하여 제거해야 한다. (다른 데이터베이스에 연결하는 방법은 “지정된 데이터베이스에 연결“를 참조하도록 한다)
–
그럼 실제로 해보도록 하자. 생성된 devkuma2 데이터베이스를 제거한다. 다음과 같이 실행한다.
postgres=# drop database devkuma2;
DROP DATABASE
postgres=#
데이터베이스가 삭제되었다.
그러고 데이터베이스 목록을 표시하여 확인해 본다.
postgres=# \l
데이터베이스 목록
이름 | 소유주 | 인코딩 | Collate | Ctype | 액세스 권한
-----------+----------+--------+------------------+------------------+-----------------------
devkuma | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
postgres | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
rabbit | orange | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
sample | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
template0 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres +
| | | | | postgres=CTc/postgres
(6개 행)
postgres=#
방금 삭제한 devkuma2는 데이터베이스 목록에 표시되지 않는 것으로 확인할 수 있다.
–
연결된 데이터베이스를 삭제하려고 하면 어떻게되는지 확인해 보도록 하다. devkuma 데이터베이스에 연결한다.
postgres=# \c devkuma
접속정보: 데이터베이스="devkuma", 사용자="postgres".
devkuma=#
mydb 데이터베이스에 연결되어 있는 상태에서 devkuma 데이터베이스를 삭제해 본다.
devkuma=# drop database devkuma;
오류: 현재 열려 있는 데이터베이스는 삭제할 수 없습니다
devkuma=#
다음과 같이 “오류: 현재 열려 있는 데이터베이스는 삭제할 수 없습니다“라고 오류가 표시되고 데이터베이스 삭제에 실패한다.
이처럼 현재 연결되어있는 데이터베이스를 삭제할 수 없다.
–
여기까지 DROP DATABASE 명령을 사용하여 데이터베이스를 삭제하는 방법에 대해 알아보았다.