Sql

Postgresql удалить базу: Postgres Pro Standard : Документация: 10: 21.5. Удаление базы данных : Компания Postgres Professional

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

PGHOSTPGPORTPGUSER

Параметры подключения по умолчанию

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

06.2021 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, синтаксис, параметры и примеры с реализацией кода. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

  1. PostgreSQL, ЗА ИСКЛЮЧЕНИЕМ
  2. Каскад удаления Postgres
  3. Роли PostgreSQL
  4. Команды PostgreSQL

База данных PostgreSQL Drop — javatpoint

следующий → ← предыдущая

Команда Drop/delete используется для окончательного удаления всех записей файлов и каталогов данных с платформы PostgreSQL. Поэтому мы должны использовать эту команду очень осторожно.

В этом разделе мы узнаем, как удалить базу данных, которая нам больше не нужна в PostgreSQL.

В PostgreSQL мы можем удалить базу данных двумя способами:

  • Удаление базы данных PgAdmin
  • Удаление базы данных с помощью SQL Shell

Удаление базы данных PgAdmin (графический интерфейс пользователя)

Чтобы создать базу данных в pgAdmin, мы собираемся выполнить следующие шаги:

Шаг 1

  • Во-первых, мы откроем pgAdmin в нашей локальной системе.
  • Выберите базу данных (Javatpoint), щелкнув по ней левой кнопкой мыши.
  • Затем щелкните правой кнопкой мыши Javatpoint
  • После этого нажмите Удалить/удалить из выпадающего списка, чтобы удалить базу данных.

Этап 2

  • После того, как мы нажмем на опцию Удалить/удалить , на экране появится одно всплывающее окно с подтверждением, где мы нажмем кнопку Да , чтобы удалить базу данных.

Посмотреть результат

  • Как только мы нажмем на Да кнопка, база сразу удаляется из записи.

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

Здесь мы собираемся поместить базу данных в оболочку SQL (командная строка).

Синтаксис

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

Синтаксис:

УДАЛИТЬ БАЗУ ДАННЫХ [ЕСЛИ СУЩЕСТВУЕТ] имя;

Где команда содержит следующие параметры:

Параметры Описание
ЕСЛИ СУЩЕСТВУЕТ Необязательный параметр; где предупреждение отображается вместо ошибки, если база данных не существует.
имя Здесь мы будем ссылаться на имя базы данных, которую мы хотим удалить.

Теперь мы собираемся использовать эту команду в командной строке:

Шаг 1

  • Откройте оболочку SQL и введите приведенную ниже команду, чтобы увидеть существующую базу данных.


Этап 2

  • Для удаления базы данных мы введем следующую команду:

Удаление базы данных Javatpoint;

  • При использовании вышеуказанной команды мы можем столкнуться со следующей ошибкой:

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


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

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

ОТМЕНИТЬ ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ Javatpoint из общедоступного;

  • Затем нажмите клавишу Enter .
  • После того, как соединение будет отозвано, мы введем следующий запрос:

ВЫБРАТЬ pg_terminate_backend(pg_stat_activity.pid) ОТ pg_stat_activity ГДЕ pg_stat_activity.datname = ‘Javatpoint’;


  • Затем введите запрос удаления базы данных и используйте команду \l , чтобы проверить, удалена ли база данных или нет, как мы можем видеть на снимке экрана ниже:

Этап 3

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

Этап 4

  • Затем мы собираемся удалить базу данных с ЕСЛИ существует , и мы получаем следующее предупреждение:

Использование команды dropdb

В PostgreSQL dropdb — это исполняемая команда командной строки, которая охватывает команду удаления базы данных SQL. Эта команда может выполняться только теми конечными пользователями, которые являются владельцами базы данных или суперпользователями базы данных. Мы можем удалить базу данных удаленно с помощью оператора dropdb.

Синтаксис

Синтаксис для dropdb следующий:

dropdb [опция…] имя_базы_данных

, где вариант может быть следующим:

Опции Описание
Здесь e означает эхо, которое используется для создания и отправки на сервер.
Используется для отображения подсказки проверки перед выполнением какого-либо неустранимого задания.
—помощь Это позволяет нам помочь с операторами командной строки dropdb.
-х хост Определяет имя хоста системы, где непосредственно работает сервер.
-p порт Этот параметр определяет расширение файла сокета домена Unix, в котором сервер создает соединения.
мы можем использовать опцию -V, чтобы распечатать версию dropdb.
-U имя пользователя Используется для отображения имени пользователя.
, если нам не нужен экран пароля, мы можем использовать эту опцию.
обслуживание db-=dbname Чтобы подключить базу данных для удаления целевой базы данных, мы будем использовать эту опцию для описания имени базы данных.
—если существует Этот параметр будет отображать ошибку, а не предупреждение, если база данных не существует.
Этот параметр используется для запроса пароля перед удалением базы данных.

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

dropdb -h localhost -p 5432 -U postgress javatpoint Пароль для пользователя postgress: ****

Здесь мы будем использовать имя пользователя Postgres для удаления базы данных. И приведенная выше команда удаляет базу данных javatpoint .

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

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