Để thực hiện việc xóa (drop) cơ sở dữ liệu trong PostgreSQL, chúng ta có thể sử dụng lệnh SQL với cú pháp sau đây:
Cú pháp lệnh:
DROP DATABASE [ IF EXISTS ] <database_name>
Với: <database_name> là tên của database cần xóa
VD: Chúng ta xóa database có tên là mydb
DROP DATABASE mydb;
Chú ý: Trường hợp database đang được sử dụng bởi 1 user thì chúng ta sẽ gặp 1 lỗi như bên dưới:
ERROR: database “mydb” is being accessed by other users
SQL state: 55006
Detail: There is 1 other session using the database.
Khi đó để xóa database, chúng ta cần thực hiện các bước sau đây:
- Xóa kết nối tới database cần xóa
- Xóa database
Để xóa kết nối tới database cần xóa chúng ta thực hiện SQL command sau:
SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'mydb';
Sau đó chạy lại SQL command DROP DATABASE
DROP DATABASE mydb;