PostgreSQL - Cơ sở dữ liệu DROP
Trong chương này, chúng ta sẽ thảo luận về cách xóa cơ sở dữ liệu trong PostgreSQL. Có hai tùy chọn để xóa cơ sở dữ liệu -
- Sử dụng DROP DATABASE, một lệnh SQL.
- Sử dụng dropdb một tệp thực thi dòng lệnh.
Hãy cẩn thận trước khi sử dụng thao tác này vì xóa cơ sở dữ liệu hiện có sẽ làm mất thông tin đầy đủ được lưu trữ trong cơ sở dữ liệu.
Sử dụng DROP DATABASE
Lệnh này thả một cơ sở dữ liệu. Nó loại bỏ các mục danh mục cho cơ sở dữ liệu và xóa thư mục chứa dữ liệu. Nó chỉ có thể được thực thi bởi chủ sở hữu cơ sở dữ liệu. Lệnh này không thể được thực thi khi bạn hoặc bất kỳ ai khác được kết nối với cơ sở dữ liệu đích (kết nối với postgres hoặc bất kỳ cơ sở dữ liệu nào khác để đưa ra lệnh này).
Cú pháp
Cú pháp cho DROP DATABASE được đưa ra dưới đây:
DROP DATABASE [ IF EXISTS ] name
Thông số
Bảng liệt kê các tham số với mô tả của chúng.
S. Không. | Mô tả về Thông Số |
---|---|
1 | IF EXISTS Đừng đưa ra lỗi nếu cơ sở dữ liệu không tồn tại. Một thông báo được phát hành trong trường hợp này. |
2 | name Tên của cơ sở dữ liệu cần xóa. |
Chúng tôi không thể bỏ cơ sở dữ liệu có bất kỳ kết nối nào đang mở, bao gồm cả kết nối của chúng tôi từ psql hoặc pgAdmin III . Chúng ta phải chuyển sang cơ sở dữ liệu khác hoặc template1 nếu chúng ta muốn xóa cơ sở dữ liệu mà chúng ta hiện đang kết nối. Do đó, có thể thuận tiện hơn khi sử dụng chương trình dropdb , một trình bao bọc xung quanh lệnh này.
Thí dụ
Sau đây là một ví dụ đơn giản, sẽ xóa testdb từ lược đồ PostgreSQL của bạn -
postgres=# DROP DATABASE testdb;
postgres-#
Sử dụng lệnh dropdb
Dòng lệnh PostgresSQL có thể thực thi dropdblà một trình bao bọc dòng lệnh xung quanh lệnh SQL DROP DATABASE . Không có sự khác biệt hiệu quả giữa việc giảm cơ sở dữ liệu thông qua tiện ích này và thông qua các phương pháp khác để truy cập máy chủ. dropdb phá hủy cơ sở dữ liệu PostgreSQL hiện có. Người dùng, người thực hiện lệnh này phải là một siêu người dùng cơ sở dữ liệu hoặc chủ sở hữu của cơ sở dữ liệu.
Cú pháp
Cú pháp cho dropdb như hình dưới đây:
dropdb [option...] dbname
Thông số
Bảng sau liệt kê các tham số cùng với mô tả của chúng
S. Không. | Mô tả về Thông Số |
---|---|
1 | dbname Tên của cơ sở dữ liệu sẽ bị xóa. |
2 | option đối số dòng lệnh, mà dropdb chấp nhận. |
Tùy chọn
Bảng sau liệt kê các đối số dòng lệnh mà dropdb chấp nhận:
S. Không. | Tùy chọn & Mô tả |
---|---|
1 | -e Hiển thị các lệnh được gửi đến máy chủ. |
2 | -i Đưa ra lời nhắc xác minh trước khi làm bất cứ điều gì phá hoại. |
3 | -V In phiên bản dropdb và thoát. |
4 | --if-exists Đừng đưa ra lỗi nếu cơ sở dữ liệu không tồn tại. Một thông báo được phát hành trong trường hợp này. |
5 | --help Hiển thị trợ giúp về các đối số dòng lệnh dropdb và thoát. |
6 | -h host Chỉ định tên máy chủ của máy mà máy chủ đang chạy. |
7 | -p port Chỉ định cổng TCP hoặc phần mở rộng tệp ổ cắm miền UNIX cục bộ mà máy chủ đang lắng nghe các kết nối. |
số 8 | -U username Tên người dùng để kết nối với tư cách. |
9 | -w Không bao giờ đưa ra lời nhắc mật khẩu. |
10 | -W Buộc dropdb nhắc nhập mật khẩu trước khi kết nối với cơ sở dữ liệu. |
11 |
--maintenance-db=dbname Chỉ định tên của cơ sở dữ liệu để kết nối để thả cơ sở dữ liệu đích. |
Thí dụ
Ví dụ sau minh họa việc xóa cơ sở dữ liệu khỏi dấu nhắc lệnh của hệ điều hành:
dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****
Lệnh trên bỏ cơ sở dữ liệu testdb. Ở đây, tôi đã sử dụngpostgres (tìm thấy trong tên người dùng pg_roles của template1) để thả cơ sở dữ liệu.