dropdb удалить базу данных PostgreSQL dropdb [connection-option…]dbname dropdb уничтожает существующую базу данных PostgreSQL.
dropdb-удалить базу данных PostgreSQL
Использование опции -f или -force в команде dropdb или FORCE в команде DROP DATABASE для удаления базы данных приведет к разрыву всех существующих соединений с базой данных.Аналогично,команда DROP DATABASE FORCE сделает то же самое.В первом терминале создайте тестовую базу данных и тестовую базу данных и подключитесь к базе данных.
Шаг 1:Войдите на сервер с помощью приложения SQL Shell (psql).Шаг 2:Выполните следующий запрос:SELECT datname FROM pg_database;psql выполняет запрос на сервере и выводит список существующих баз данных.
Мета-команда для выхода из psql-\q .
С помощью команды psql Введите пароль для входа в PostgreSQL.Введите команду \du для получения списка всех пользователей PostrgeSQL. Вы увидите список всех пользователей и ролей.Если вам нужна дополнительная информация,например,описание каждого пользователя,введите команду \du+.
Как удалить все таблицы в PostgreSQL? 2 Из графического интерфейса TablePlus: вы можете выбрать все доступные таблицы на правой боковой панели, щелкнуть правой кнопкой мыши и выбрать «Удалить» или нажать клавишу «Удалить», чтобы удалить все. После этого не забудьте зафиксировать изменения на сервере (Cmd + S).
Чтобы удалить базу данных с текущего сервера без удаления файлов из файловой системы,используйте sp_detach_db.USE master;ALTER DATABASE [databasename]SET SINGLE_USER WITH ROLLBACK IMMEDIATE;DROP DATABASE [databasename];Обратите внимание,резервные копии баз данных не будут удалены в рамках процесса,описанного выше.
Самый простой способ найти все таблицы в SQL — запросить представления INFORMATION_SCHEMA. Вы делаете это, указав информационную схему, а затем представление «таблицы».
Вот пример. ВЫБЕРИТЕ имя_таблицы, схему_таблицы, тип_таблицы ИЗ информации_схемы.Synopsis
dropdb
[connection-option
…] [option
…] dbname
Description
dropdb уничтожает существующую базу данных PostgreSQL.Пользователь,выполняющий эту команду,должен быть суперпользователем БД или ее владельцем.
dropdb — это оболочка для SQL-команды DROP DATABASE
. Нет эффективной разницы между удалением баз данных с помощью этой утилиты и других методов доступа к серверу.
Options
dropdb принимает следующие аргументы командной строки:
dbname
Указывает имя удаляемой базы данных.
-
-e
--echo
Эхо команд,которые dropdb генерирует и отправляет на сервер.
-
-f
--force
Попытайтесь прервать все существующие соединения с целевой базой данных перед ее разрывом. См. DROP DATABASE для получения дополнительной информации об этой опции.
-
-i
--interactive
Перед тем,как сделать что-либо разрушительное,выдает запрос на проверку.
-
-V
--version
Распечатайте версию dropdb и выйдите.
--if-exists
Не выбрасывайте ошибку,если базы данных не существует.В этом случае выдается уведомление.
-
-?
--help
Показывать справку о аргументах командной строки dropdb,и выходить.
dropdb также принимает следующие аргументы командной строки для параметров соединения:
-
-h host
--host=host
Указание имени хоста машины,на которой запущен сервер.Если значение начинается с косой черты,то оно используется в качестве директории для доменного сокета Unix.
-
-p port
--port=port
Указание TCP-порта или расширения файла локального Unix-домена,на котором сервер прослушивает соединения.
-
-U username
--username=username
Имя пользователя для подключения как.
-
-w
--no-password
Никогда не запрашивайте пароль. Если сервер требует аутентификации по паролю, а пароль недоступен другими средствами, такими как файл
.pgpass
, попытка подключения не удастся. Эта опция может быть полезна в пакетных заданиях и сценариях, где нет пользователя для ввода пароля.-
-W
--password
Force dropdb,чтобы запросить пароль перед подключением к базе данных.
Эта опция никогда не является существенной, поскольку dropdb автоматически запросит пароль, если сервер требует аутентификации по паролю. Однако dropdb потратит впустую попытки подключения, обнаружив, что серверу нужен пароль. В некоторых случаях стоит ввести
-W
, чтобы избежать лишних попыток подключения.--maintenance-db=dbname
Указывает имя базы данных, к которой необходимо подключиться, чтобы удалить целевую базу данных. Если не указано, будет использоваться база данных
postgres
;если он не существует (или база данных удаляется), будет использоватьсяtemplate1
.Это может быть строка подключения . В этом случае параметры строки подключения переопределяют любые конфликтующие параметры командной строки.
Environment
-
PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию
PG_COLOR
Указывает, следует ли использовать цвет в диагностических сообщениях. Возможные значения:
always
,auto
иnever
.
Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды, поддерживаемые libpq (см. Раздел 34.15 ).
Diagnostics
В случае затруднений см. DROP DATABASE и psql для обсуждения потенциальных проблем и сообщений об ошибках. Сервер базы данных должен работать на целевом хосте. Кроме того, будут применяться любые настройки подключения по умолчанию и переменные среды, используемые интерфейсной библиотекой libpq.
Examples
Чтобы уничтожитьdemo
базы данных на сервере базы данных по умолчанию:$ dropdb demo
Чтобы уничтожить demo
базы данных с помощью сервера на хосте eden
, порт 5000, с проверкой и просмотром соответствующей команды:
$ dropdb -p 5000 -h eden -i -e demo Database "demo" will be permanently deleted. Are you sure? (y/n) y DROP DATABASE demo;
See Also
createdb, DROP DATABASE- 1
- …
- 6
- 7
- 8
9- 10
- …
- 763
- Next
dropuser
Работа с базами данных и пользователями в PostgreSQL — OS CONFIG
admin Базы данных
Краткая инструкция по созданию и удалению баз данных и пользователей в системе управления базами данных PostgreSQL из консоли.
В первую очередь нам необходимо войти под пользователем postgres
# su postgres
затем запускаем консоль PostgreSQL
# psql
Работа с базами данных
Просмотреть список баз данных можно командой
\l
Для создание базы данных с именем new_db воспользуемся командой
CREATE DATABASE new_db;
Чтобы удалить базу данных new_db, введём команду
DROP DATABASE new_db;
Работа с пользователями
Создать пользователя БД можно командой
CREATE USER dbuser WITH PASSWORD 'PASSword';
Для изменения пароля пользователя вводим команду
ALTER USER dbuser with PASSWORD 'newPassWord';
Для того, чтобы дать пользователю dbuser полные права на базу данных new_db, необходимо ввести команду
GRANT ALL PRIVILEGES ON DATABASE new_db TO dbuser;
Отозвать все права пользователю dbuser на базу данных new_db можно следующей командой:
REVOKE ALL PRIVILEGES ON DATABASE new_db FROM dbuser;
Чтобы создать базу данных и сразу назначить ей владельца dbuser, нужно ввести команду
CREATE DATABASE second_db OWNER dbuser;
Предоставить пользователю полные права на все таблицы в базе данных можно при помощи команды:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO dbuser;
Удалить пользователя dbuser:
DROP USER dbuser;
Этот пользователь полностью исчезнет из всех баз данных, к которым он был привязан.
Просмотреть список пользователей баз данных, вводим команду
\du;
База данных DROP Postgres | Полное руководство по базе данных Postgres DROP
Всякий раз, когда данные в базе данных не важны и нет необходимости хранить их дальше, или это пустая база данных, которую вы хотите удалить, вы можете полностью удалить эту базу данных с помощью команды DROP Database или одна доступная утилита для этого имени dropdb. Всякий раз, когда мы удаляем это означает удаление базы данных в это время, происходит то, что весь каталог, который существует для этой базы данных, удаляется безвозвратно, и соответствующая информация об удаляемой базе данных, хранящаяся в записях каталога, также удаляется безвозвратно. Нет способа откатить этот запрос, поэтому вы должны быть очень уверены и осторожны при использовании этих команд.
В этой статье мы узнаем, как мы можем полностью удалить базу данных, используя два доступных метода инструкции DROP Database и утилиты dropdb один за другим.
Синтаксис:
DROP DATABASE [ЕСЛИ СУЩЕСТВУЕТ] nameOfTheDb;
Приведенный выше синтаксис содержит операторы запроса DROP База данных и другие параметры в ней можно объяснить следующим образом –
- IF EXISTS – Это необязательный параметр. Это ключевое слово можно использовать для предотвращения любой ошибки, возникающей при использовании вышеуказанной команды, когда на текущем сервере базы данных не существует базы данных с именем «nameOfTheDb». Если в вашем запросе используется ключевое слово «IF EXISTS» и ни одна из баз данных с именем «nameOfTheDb» не присутствует на текущем сервере, то он просто уведомит вас об этом и не приведет к какой-либо ошибке.
- nameOfTheDb — это имя базы данных, которую вы хотите удалить или удалить и которая находится в текущей базе данных.
Примечания:
При удалении базы данных и понимании ее поведения необходимо учитывать несколько моментов.
- Мы не можем удалить базу данных, если с удаляемой базой данных связаны какие-либо активные сеансы.
- Далее базу может удалить только владелец базы.
- Еще одна вещь, о которой следует помнить: оператор запроса на удаление базы данных не может быть выполнен для той же базы данных, к которой вы подключены в данный момент.
- После удаления базы данных действия нельзя будет отменить. Так что будьте более осторожны при этом.
Пример
Мы можем проверить все базы данных, присутствующие на нашем сервере баз данных, используя запрос \l, который в настоящее время приводит к следующему выводу для моего сервера –
\l
Как видно, на нашем сервере базы данных нет базы данных с именем sample.
Давайте разберемся, как мы можем использовать эту команду, на примере. Первое, что нам нужно сделать, это открыть нашу командную строку psql, а затем выполнить наш оператор. Предположим, мы хотим удалить базу данных с именем «sample». Итак, мой оператор запроса будет следующим:
DROP DATABASE sample;
Это приведет к следующему выводу –
Как видно, это привело к ошибке, говорящей о том, что на нашем текущем сервере базы данных нет базы данных с именем «sample».
Теперь, что будет выведено, если мы используем IF EXISTS для той же команды, что и –
DROP DATABASE IF EXISTS sample;
Это приведет к следующему выводу –
Мы видим, что вместо ошибки выдается уведомление о том, что такой базы данных не существует.
Давайте создадим базу данных с именем «sample», а затем выполним указанный выше запрос. Мы можем использовать эту команду для создания новой базы данных для нашей цели —
СОЗДАТЬ БАЗУ ДАННЫХ образец;
, что приведет к следующему выводу –
. Давайте проверим, успешно ли он создан с помощью команды \l, результат которой будет следующим –
Итак, наша база данных теперь существует. Это означает, что когда мы запускаем любую из вышеперечисленных команд DROP, это не приведет к ошибке или уведомлению. Давайте проверим вывод, запустив сам запрос.
DROP DATABASE образец;
теперь дает –
Давайте проверим, проверив все базы данных.\l дает следующий вывод –
Это означает, что наша база данных успешно удалена.
Попробуем удалить базу данных с активными подключениями. В этом примере мы удалим демонстрационную базу данных, которая уже существует. Вы даже можете создать новую базу данных и попробовать удалить ее. Если у базы данных есть активные подключения, мы откроем новый терминал с приглашением psql, а затем подключимся к демонстрационной базе данных, используя \c demo; команда.
\c демо;
Теперь, вернувшись к моему предыдущему терминалу, попробуем сбросить демо-базу.
DROP DATABASE demo;
Как видно, он показывает ошибку, говорящую о том, что один сеанс уже использует базу данных с именем demo. Следовательно, его нельзя удалить. В таких случаях мы можем удалить базу данных, сначала проверив все действия, связанные с ней, и завершив их. Мы можем видеть все действия базы данных из таблицы pg_stat_activity.
Давайте запустим следующий запрос –
SELECT * FROM pg_stat_activity WHERE datname = 'demo';
, которые выдают результат –
Одна сессия связана с демонстрационной базой данных. Мы можем завершить их все, используя запрос —
SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'demo';
Теперь давайте бросим нашу демонстрационную базу данных.
DROP DATABASE demo;
Команда \l теперь приводит к –
Следовательно, наша база данных успешно удалена.
команда dropdb -
Мы даже можем использовать команду dropdb для удаления базы данных. Он работает аналогично оператору DROP DATABASE. Преимущество в том, что мы можем удалить базу данных удаленно, используя функцию dropdb, но необходимо быть владельцем базы данных, которую мы пытаемся удалить. синтаксис следующий —
Dropdb [опция.] nameOfTheDb;
- nameOfTheDb – Это имя базы данных, которую вы хотите удалить или удалить и которая находится в текущей базе данных.
Опции могут быть любыми из следующих –
Опция | Описание |
-е | Эхо-команды. |
-я | Отображать ли запрос подтверждения |
-В | Для печати версии dropdb |
–помощь | Для получения помощи |
-х хост | Укажите хост текущей системы |
-p порт | Сокет, используемый текущими установленными соединениями. |
– если существует | Показывать ли уведомление вместо ошибки, если база данных не существует. |
-U имя пользователя | Имя пользователя для подключения к базе данных. |
-ш | Если запрос пароля не требуется. |
-В | Если требуется запрос пароля перед удалением базы данных. |
обслуживание db-=dbname | Имя базы данных, к которой необходимо подключиться для удаления целевой базы данных. |
Пример базы данных Postgres DROP
dropdb -p 5432 -i -e образовательная_платформа;
Обратите внимание, что команда dropdb является командой оболочки, а не psql. Вы можете открыть команду psql и запустить команду \l, чтобы проверить, удалена ли база данных или нет.
Итак, наша база данных education_platform успешно удалена.
Заключение
Мы можем удалить нашу базу данных либо с помощью инструкции DROP Database, либо с помощью утилиты dropdb. Будьте осторожны при этом, так как действие нельзя отменить.
Рекомендуемые статьи
Это руководство по базе данных Postgres DROP. Здесь мы обсуждаем введение в базу данных Postgres DROP, синтаксис, параметры и примеры с реализацией кода. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –
- PostgreSQL, ЗА ИСКЛЮЧЕНИЕМ
- Каскад удаления Postgres
- Роли PostgreSQL
- Команды PostgreSQL
База данных PostgreSQL Drop — javatpoint
следующий → ← предыдущая Команда Drop/delete используется для окончательного удаления всех записей файлов и каталогов данных с платформы PostgreSQL. Поэтому мы должны использовать эту команду очень осторожно. В этом разделе мы узнаем, как удалить базу данных, которая нам больше не нужна в PostgreSQL. В PostgreSQL мы можем удалить базу данных двумя способами:
Удаление базы данных PgAdmin (графический интерфейс пользователя)Чтобы создать базу данных в pgAdmin, мы собираемся выполнить следующие шаги: Шаг 1
Этап 2
Посмотреть результат
Удалить базу данных с помощью SQL Shell (командная строка)Здесь мы собираемся поместить базу данных в оболочку SQL (командная строка). Синтаксис Синтаксис удаления базы данных следующий: Синтаксис: УДАЛИТЬ БАЗУ ДАННЫХ [ЕСЛИ СУЩЕСТВУЕТ] имя; Где команда содержит следующие параметры:
Теперь мы собираемся использовать эту команду в командной строке: Шаг 1
\л Этап 2
Удаление базы данных Javatpoint;
ОШИБКА: к базе данных «Javatpoint» обращаются другие пользователи Подробности: есть еще 1 сеанс, использующий базу данных. Чтобы удалить базу данных Javatpoint , нам необходимо выполнить следующий процесс:
ОТМЕНИТЬ ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ Javatpoint из общедоступного;
ВЫБРАТЬ pg_terminate_backend(pg_stat_activity.pid) ОТ pg_stat_activity ГДЕ pg_stat_activity.datname = ‘Javatpoint’;
Этап 3
Этап 4
Использование команды dropdbВ PostgreSQL dropdb — это исполняемая команда командной строки, которая охватывает команду удаления базы данных SQL. Эта команда может выполняться только теми конечными пользователями, которые являются владельцами базы данных или суперпользователями базы данных. Мы можем удалить базу данных удаленно с помощью оператора dropdb. Синтаксис Синтаксис для dropdb следующий: dropdb [опция…] имя_базы_данных , где вариант может быть следующим:
Давайте посмотрим на пример, где мы удаляем базу данных из командной строки операционной системы: dropdb -h localhost -p 5432 -U postgress javatpoint Пароль для пользователя postgress: **** Здесь мы будем использовать имя пользователя Postgres для удаления базы данных. И приведенная выше команда удаляет базу данных javatpoint . |