Sql

Drop postgresql database: PostgreSQL: Documentation: 15: DROP DATABASE

PostgreSQL — DROP база данных

В этой главе мы обсудим, как удалить базу данных в 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) для удаления базы данных.

PostgreSQL DROP DATABASE — Удаление баз данных PostgreSQL

Резюме : в этом руководстве вы узнаете, как использовать инструкцию PostgreSQL DROP DATABASE для удаления базы данных.

Введение в PostgreSQL Оператор DROP DATABASE

Если база данных больше не нужна, ее можно удалить с помощью оператора DROP DATABASE .

Ниже показан синтаксис оператора DROP DATABASE :

 

УДАЛИТЬ БАЗУ ДАННЫХ [ЕСЛИ СУЩЕСТВУЕТ] имя_базы_данных;

Язык кода: SQL (язык структурированных запросов) (sql)

Чтобы удалить базу данных:

  • Укажите имя базы данных, которую вы хотите удалить, после предложения DROP DATABASE .
  • Используйте IF EXISTS , чтобы предотвратить ошибку удаления несуществующей базы данных. Вместо этого PostgreSQL выдаст уведомление.

Оператор DROP DATABASE безвозвратно удаляет записи каталога и каталог данных. Это действие нельзя отменить, поэтому вы должны использовать его с осторожностью.

Только суперпользователи и владелец базы данных могут выполнять оператор DROP DATABASE . Кроме того, вы не можете выполнить инструкцию DROP DATABASE , если к базе данных все еще есть активные соединения. В этом случае вам необходимо отключиться от базы данных и подключиться к другой базе данных, например, postgres , чтобы выполнить инструкцию DROP DATABASE .

PostgreSQL также предоставляет служебную программу с именем dropdb , которая позволяет удалить базу данных. 9Программа 0005 dropdb выполняет оператор DROP DATABASE за кулисами.

1) Удаление базы данных с активными подключениями

Чтобы удалить базу данных с активными подключениями, выполните следующие действия:

Сначала найдите действия, связанные с базой данных, запросив представление pg_stat_activity :

 

ВЫБЕРИТЕ * ОТ pg_stat_activity ГДЕ имя_данных = '<имя_базы_данных>';

Язык кода: SQL (язык структурированных запросов) (sql)

Во-вторых, завершите активные соединения, выполнив следующий запрос:

 

SELECT pg_terminate_backend (pid) ОТ pg_stat_activity ГДЕ pg_stat_activity.

datname = '<имя_базы_данных>';

Язык кода: SQL (язык структурированных запросов) (sql)

Обратите внимание: если вы используете PostgreSQL версии 9.1 или более ранней, используйте столбец procpid вместо столбца pid , поскольку PostgreSQL изменил procid столбец до pid столбец начиная с версии 9.2

В-третьих, выполните оператор DROP DATABASE :

 

DROP DATABASE ;

Язык кода: HTML, XML (xml)

Примеры PostgreSQL DROP DATABASE

Для демонстрации мы будем использовать базы данных, созданные в руководстве по созданию базы данных PostgreSQL.

Если вы еще не создали эту базу данных, вы можете использовать следующую команду CREATE DATABASE операторов для их создания:

 

CREATE DATABASE hrdb; СОЗДАТЬ БАЗУ ДАННЫХ testdb1;

Язык кода: SQL (язык структурированных запросов) (sql)

1) Удаление базы данных без активного соединения пример

Чтобы удалить базу данных hrdb , используйте владельца hrdb для подключения к базе данных кроме базы данных hrdb , например, postgres  , и выполните следующую инструкцию:

 

DROP DATABASE hrdb;

Язык кода: SQL (язык структурированных запросов) (sql)

PostgreSQL удалил базу данных hrdb .

2) Удаление базы данных с активными соединениями пример

Следующая инструкция удаляет базу данных testdb1 :

 

DROP DATABASE testdb1;

Язык кода: SQL (язык структурированных запросов) (sql)

Однако PostgreSQL выдал следующую ошибку:

 

ОШИБКА: к базе данных "testdb1" обращаются другие пользователи Состояние SQL: 55006 Подробности: есть еще 1 сеанс, использующий базу данных.

Язык кода: JavaScript (javascript)

Чтобы удалить базу данных testdb1 , необходимо разорвать активное соединение и удалить базу данных.

Сначала запросите представление pg_stat_activity , чтобы узнать, какие действия выполняются в базе данных testdb1 :

 

SELECT * ОТ pg_stat_activity ГДЕ имя_данных = 'testdb1';

Язык кода: SQL (язык структурированных запросов) (sql)

База данных testdb1 имеет одно соединение с localhost , поэтому безопасно разорвать это соединение и удалить базу данных.

Во-вторых, завершите соединение с базой данных testdb1 , используя следующую инструкцию:

 

SELECT pg_terminate_backend (pg_stat_activity.pid) ИЗ pg_stat_activity КУДА pg_stat_activity.datname = 'testdb1';

Язык кода: SQL (язык структурированных запросов) (sql)

В-третьих, введите команду DROP DATABASE , чтобы удалить базу данных testdb1 :

 

testdb1 DATABASE;

Язык кода: SQL (язык структурированных запросов) (sql)

PostgreSQL навсегда удаляет testdb1 .

Из этого руководства вы узнали, как использовать инструкцию PostgreSQL

DROP DATABASE для удаления базы данных. Кроме того, вы также узнали, как удалить базу данных с активными соединениями.

Было ли это руководство полезным?

PostgreSQL DROP/Delete DATABASE: пример команды PSQL

Ричард Петерсон

часов

Обновлено

Удаление базы данных в PostgreSQL

DROP DATABASE в PostgreSQL — это инструкция для безвозвратного удаления всех записей каталога и каталога данных. Владелец базы данных может только выполнить эту команду. Его нельзя выполнить, пока кто-то подключен к целевой базе данных. Вам нужно подключиться к другой базе данных, чтобы выполнить команду DROP DATABASE.

Так что будьте особенно осторожны при выполнении этой операции.

PostgreSQL DROP DATABASE Синтаксис:

 DROP DATABASE [ЕСЛИ СУЩЕСТВУЕТ] имя; 

Здесь :-

  • ЕСЛИ СУЩЕСТВУЕТ: Это необязательный параметр. В случае, если база данных не существует, вместо ошибки
  • отображается предупреждение.
  • имя: укажите имя БД, которое вы хотите удалить

Давайте посмотрим пример командной строки удаления базы данных PostgreSQL в действии

Удаление базы данных PostgreSQL с помощью SQL Shell (командная строка)

Ниже приведен пошаговый процесс удаления базы данных в командной строке Postgres:

Шаг 1) Используйте команду \l для определения текущей доступной базы данных.

Шаг 2) Чтобы удалить базу данных в Postgres, введите команду

 drop database guru99
 

Используйте команду \l, чтобы проверить, удалена ли БД

Шаг 3) Попробуйте удалить ту же базу данных еще раз, вы получите сообщение об ошибке.

Шаг 4) Отбросьте базу данных с предложением IF exists, и вы получите предупреждение

 отбросьте базу данных, ЕСЛИ СУЩЕСТВУЕТ guru99
 

Удаление базы данных PostgreSQL PgAdmin (GUI)

Шаг 1) Щелкните правой кнопкой мыши базу данных «guru99» и выберите «Удалить/удалить».

Шаг 2) Нажмите OK во всплывающем окне подтверждения

База данных удалена.

Команда dropdb

Команда dropdb позволяет удаленно удалить базу данных в PostgreSQL. Но пользователь должен быть владельцем базы данных, чтобы использовать команду удаления базы данных PostgreSQL для удаления этой базы данных.

Синтаксис:

 Dropdb [опция.] dbname 
Опция Описание
Эхо-команды, которые dropdb создает и отправляет на сервер.
Отображение запроса на проверку перед выполнением любого деструктивного задания
Используйте этот параметр для печати версии dropdb.
–помощь Помогите с аргументами командной строки dropdb.
-х хост Помогает указать имя хоста системы, на которой в данный момент работает сервер.
-p порт Параметр позволяет указать расширение файла сокета домена Unix, на котором сервер устанавливает соединения.
– если существует Если существует будет показывать ошибку вместо прогрева, если БД не выходит
-U имя пользователя Имя пользователя для подключения.
Используйте этот параметр, если не хотите запрашивать пароль
Используйте этот параметр, чтобы запрашивать пароль перед удалением базы данных.
обслуживание db-=dbname имя базы данных, к которой нужно подключиться, чтобы удалить целевую базу данных.

PostgreSQL DROP DATABASE Пример

Мы хотим уничтожить базу данных guru99 с помощью сервера на хосте rome, порт 4565, с проверкой, и вам необходимо использовать следующую команду удаления базы данных PostgreSQL:

 dropdb -p 4565 -h rome -i -e guru99 

База данных «guru99» будет постоянно удален.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *