PostgreSQL에서 데이터베이스를 생성하고 삭제하는 방법을 설명하겠습니다. PostgreSQL에서는 psql
명령어를 사용하거나 SQL 명령을 통해 데이터베이스를 쉽게 생성하고 삭제할 수 있습니다.
1. 데이터베이스 생성
1.1 createdb
명령어를 사용한 데이터베이스 생성
PostgreSQL에서는 createdb
명령어를 사용하여 간단히 데이터베이스를 생성할 수 있습니다.
createdb 데이터베이스이름
예를 들어, mydb
라는 데이터베이스를 생성하려면:
createdb mydb
1.2 psql
을 사용한 데이터베이스 생성
PostgreSQL 셸(psql
)에 접속하여 SQL 명령을 사용해 데이터베이스를 생성할 수도 있습니다.
- 먼저
psql
에 접속합니다.
sudo -i -u postgres
psql
또는 이미 PostgreSQL 사용자를 설정한 경우:
psql -U 사용자이름
- 데이터베이스 생성 명령을 실행합니다.
CREATE DATABASE 데이터베이스이름;
예를 들어, mydb
라는 데이터베이스를 생성하려면:
CREATE DATABASE mydb;
\l
명령을 입력하여 생성된 데이터베이스를 확인할 수 있습니다.
\l
1.3 특정 사용자 소유의 데이터베이스 생성
데이터베이스 생성 시, 특정 사용자에게 데이터베이스 소유권을 부여할 수도 있습니다.
CREATE DATABASE 데이터베이스이름 OWNER 사용자이름;
예를 들어, mydb
라는 데이터베이스를 myuser
사용자에게 소유권을 부여하여 생성하려면:
CREATE DATABASE mydb OWNER myuser;
2. 데이터베이스 삭제
2.1 dropdb
명령어를 사용한 데이터베이스 삭제
PostgreSQL에서 dropdb
명령어를 사용하여 데이터베이스를 삭제할 수 있습니다.
dropdb 데이터베이스이름
예를 들어, mydb
라는 데이터베이스를 삭제하려면:
dropdb mydb
2.2 psql
을 사용한 데이터베이스 삭제
PostgreSQL 셸(psql
)에 접속한 후 SQL 명령어를 사용해 데이터베이스를 삭제할 수도 있습니다.
- 먼저
psql
에 접속합니다.
sudo -i -u postgres
psql
또는 PostgreSQL 사용자로 접속합니다.
psql -U 사용자이름
- 데이터베이스 삭제 명령을 실행합니다.
DROP DATABASE 데이터베이스이름;
예를 들어, mydb
라는 데이터베이스를 삭제하려면:
DROP DATABASE mydb;
주의: 데이터베이스를 삭제할 때는 해당 데이터베이스 내의 모든 데이터가 삭제되므로, 삭제 전에 반드시 확인해야 합니다.
3. 데이터베이스가 사용 중일 때 삭제 불가
PostgreSQL에서는 데이터베이스에 접속 중인 사용자가 있을 경우, 해당 데이터베이스를 삭제할 수 없습니다. 이때 강제로 삭제하려면 먼저 접속을 종료시켜야 합니다.
- 접속 세션 확인:
접속 중인 세션을 확인하려면 다음 SQL 명령어를 실행합니다.
SELECT pid, datname, usename, application_name, client_addr FROM pg_stat_activity WHERE datname = '데이터베이스이름';
예를 들어, mydb
데이터베이스의 세션을 확인하려면:
SELECT pid, datname, usename, application_name, client_addr FROM pg_stat_activity WHERE datname = 'mydb';
- 세션 종료:
접속 중인 세션을 종료하려면 다음 SQL 명령어로 해당pid
를 종료할 수 있습니다.
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '데이터베이스이름';
예를 들어, mydb
데이터베이스에 접속 중인 모든 세션을 종료하려면:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';
이후 다시 DROP DATABASE
명령어를 실행하여 데이터베이스를 삭제할 수 있습니다.
요약
- 데이터베이스 생성:
createdb
명령어나CREATE DATABASE
SQL 명령어를 사용하여 데이터베이스를 생성합니다. - 데이터베이스 삭제:
dropdb
명령어나DROP DATABASE
SQL 명령어를 사용하여 데이터베이스를 삭제합니다. - 데이터베이스가 사용 중일 때는 세션을 종료한 후 삭제해야 합니다.
이제 PostgreSQL에서 데이터베이스를 생성하고 삭제하는 방법을 알았으니, 이를 활용하여 데이터베이스를 관리할 수 있습니다.
'DB > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] CREATE, DROP, ALTER - 테이블 생성, 삭제, 변경하기 (0) | 2024.10.07 |
---|---|
[ PostgreSQL ] \dt, \d - 테이블 리스트, 테이블 schema 알아보기 (1) | 2024.10.07 |
[ PostgreSQL ] psql - 원격으로 접속하기 (2) | 2024.10.06 |
[ PostgreSQL ] PostgreSQL 설치하고 원격으로 접속하기 - CentOS (0) | 2024.10.06 |
[ PostgreSQL ] 개발 역사와 버전에 대해서 알아보기 (0) | 2024.10.06 |