В этой главе мы обсудим, как удалить базу данных в PostgreSQL. Есть два варианта удаления базы данных —
- Используя DROP DATABASE, команду SQL.
- Используя dropdb исполняемый файл командной строки.
Будьте осторожны, прежде чем использовать эту операцию, потому что удаление существующей базы данных приведет к потере полной информации, хранящейся в базе данных.
Использование DROP DATABASE
Эта команда удаляет базу данных. Он удаляет записи каталога для базы данных и удаляет каталог, содержащий данные. Он может быть выполнен только владельцем базы данных. Эта команда не может быть выполнена, пока вы или кто-либо еще подключен к целевой базе данных (подключитесь к postgres или любой другой базе данных, чтобы выполнить эту команду).
Синтаксис
Синтаксис для DROP DATABASE приведен ниже —
DROP DATABASE [ IF EXISTS ] name
параметры
В таблице приведены параметры с их описаниями.
С. Нет. | Параметр и описание |
---|---|
1 |
ЕСЛИ СУЩЕСТВУЕТ Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление. |
2 |
название Имя базы данных для удаления. |
ЕСЛИ СУЩЕСТВУЕТ
Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.
название
Имя базы данных для удаления.
Мы не можем удалить базу данных, которая имеет какие-либо открытые соединения, включая наше собственное соединение с psql или pgAdmin III . Мы должны переключиться на другую базу данных или шаблон1, если мы хотим удалить базу данных, к которой мы сейчас подключены. Таким образом, может быть удобнее использовать программу dropdb , которая является оберткой для этой команды.
пример
Ниже приведен простой пример, который удалит testdb из вашей схемы PostgreSQL:
postgres=# DROP DATABASE testdb; postgres-#
Использование команды dropdb
Исполняемый файл командной строки PostgresSQL dropdb — это оболочка командной строки для команды SQL DROP DATABASE . Нет эффективной разницы между удалением баз данных с помощью этой утилиты и других методов доступа к серверу. dropdb уничтожает существующую базу данных PostgreSQL. Пользователь, который выполняет эту команду, должен быть суперпользователем базы данных или владельцем базы данных.
Синтаксис
Синтаксис для dropdb , как показано ниже —
dropdb [option...] dbname
параметры
В следующей таблице перечислены параметры с их описаниями
С. Нет. | Параметр и описание |
---|---|
1 |
имя_бд Имя базы данных, которая будет удалена. |
2 |
вариант аргументы командной строки, которые принимает dropdb. |
имя_бд
Имя базы данных, которая будет удалена.
вариант
аргументы командной строки, которые принимает dropdb.
Опции
В следующей таблице перечислены аргументы командной строки, которые принимает dropdb —
С. Нет. | Вариант и описание |
---|---|
1 |
-e Показывает команды, отправляемые на сервер. |
2 |
-я Выдает запрос подтверждения, прежде чем делать что-либо разрушительное. |
3 |
-V Распечатайте версию dropdb и выйдите. |
4 |
—Если-существует Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление. |
5 |
—Помогите Показать справку об аргументах командной строки dropdb и завершиться. |
6 |
-х хозяин Указывает имя хоста компьютера, на котором работает сервер. |
7 |
порт Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения. |
8 |
-U имя пользователя Имя пользователя для подключения как. |
9 |
-w Никогда не выдавайте запрос пароля. |
10 |
-W Заставьте dropdb запрашивать пароль перед подключением к базе данных. |
11 |
—maintenance-DB = имя_бд Задает имя базы данных, к которой нужно подключиться, чтобы удалить целевую базу данных. |
-e
Показывает команды, отправляемые на сервер.
-я
Выдает запрос подтверждения, прежде чем делать что-либо разрушительное.
-V
Распечатайте версию dropdb и выйдите.
—Если-существует
Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.
—Помогите
Показать справку об аргументах командной строки dropdb и завершиться.
-х хозяин
Указывает имя хоста компьютера, на котором работает сервер.
порт
Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения.
-U имя пользователя
Имя пользователя для подключения как.
-w
Никогда не выдавайте запрос пароля.
-W
Заставьте dropdb запрашивать пароль перед подключением к базе данных.
—maintenance-DB = имя_бд
Задает имя базы данных, к которой нужно подключиться, чтобы удалить целевую базу данных.
пример
В следующем примере демонстрируется удаление базы данных из командной строки ОС —
dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****
Приведенная выше команда удаляет базу данных testdb . Здесь я использовал имя пользователя postgres (находится в pg_roles шаблона template1) для удаления базы данных.