Как очистить базу данных postgresql
Перейти к содержимому

Как очистить базу данных postgresql

  • автор:

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

Будьте осторожны, прежде чем использовать эту операцию, потому что удаление существующей базы данных приведет к потере полной информации, хранящейся в базе данных.

Использование DROP DATABASE

Эта команда удаляет базу данных. Он удаляет записи каталога для базы данных и удаляет каталог, содержащий данные. Он может быть выполнен только владельцем базы данных. Эта команда не может быть выполнена, пока вы или кто-либо еще подключен к целевой базе данных (подключитесь к postgres или любой другой базе данных, чтобы выполнить эту команду).

Синтаксис

Синтаксис для DROP DATABASE приведен ниже –

DROP DATABASE [ IF EXISTS ] name

параметры

В таблице приведены параметры с их описаниями.

ЕСЛИ СУЩЕСТВУЕТ

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

Имя базы данных для удаления.

ЕСЛИ СУЩЕСТВУЕТ

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

Имя базы данных для удаления.

Мы не можем удалить базу данных, которая имеет какие-либо открытые соединения, включая наше собственное соединение с psql или pgAdmin III . Мы должны переключиться на другую базу данных или шаблон1, если мы хотим удалить базу данных, к которой мы сейчас подключены. Таким образом, может быть удобнее использовать программу dropdb , которая является оберткой для этой команды.

пример

Ниже приведен простой пример, который удалит testdb из вашей схемы PostgreSQL:

postgres=# DROP DATABASE testdb; postgres-# 

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

Исполняемый файл командной строки PostgresSQL dropdb – это оболочка командной строки для команды SQL DROP DATABASE . Нет эффективной разницы между удалением баз данных с помощью этой утилиты и других методов доступа к серверу. dropdb уничтожает существующую базу данных PostgreSQL. Пользователь, который выполняет эту команду, должен быть суперпользователем базы данных или владельцем базы данных.

Синтаксис

Синтаксис для dropdb , как показано ниже –

dropdb [option. ] dbname

параметры

В следующей таблице перечислены параметры с их описаниями

Имя базы данных, которая будет удалена.

аргументы командной строки, которые принимает dropdb.

Имя базы данных, которая будет удалена.

аргументы командной строки, которые принимает dropdb.

Опции

В следующей таблице перечислены аргументы командной строки, которые принимает dropdb –

Показывает команды, отправляемые на сервер.

Выдает запрос подтверждения, прежде чем делать что-либо разрушительное.

Распечатайте версию dropdb и выйдите.

–Если-существует

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

Показать справку об аргументах командной строки dropdb и завершиться.

Указывает имя хоста компьютера, на котором работает сервер.

Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения.

-U имя пользователя

Имя пользователя для подключения как.

Никогда не выдавайте запрос пароля.

Заставьте dropdb запрашивать пароль перед подключением к базе данных.

–maintenance-DB = имя_бд

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

Показывает команды, отправляемые на сервер.

Выдает запрос подтверждения, прежде чем делать что-либо разрушительное.

Распечатайте версию dropdb и выйдите.

–Если-существует

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

Показать справку об аргументах командной строки dropdb и завершиться.

Указывает имя хоста компьютера, на котором работает сервер.

Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения.

-U имя пользователя

Имя пользователя для подключения как.

Никогда не выдавайте запрос пароля.

Заставьте dropdb запрашивать пароль перед подключением к базе данных.

–maintenance-DB = имя_бд

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

пример

В следующем примере демонстрируется удаление базы данных из командной строки ОС –

dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****

Приведенная выше команда удаляет базу данных testdb . Здесь я использовал имя пользователя postgres (находится в pg_roles шаблона template1) для удаления базы данных.

Обнуление базы данных на postgresql

Как вариант: Сделать дамп схемы, дропнуть всю схему, восстановить из дампа.

pg_dump --schema-only БД > БД.dump dropdb БД psql -f БД.dump БД 

Отслеживать
ответ дан 3 фев 2011 в 9:22
bsamborsky bsamborsky
201 1 1 серебряный знак 3 3 бронзовых знака

SELECT table_name FROM information_schema.tables TRUNCATE TABLE table_name 

c постгре работал четыре года назад на дельфи, надеюсь без ошибок. запрос второй строчки в цикле естественно надо сделать по результатам первого.

может кто работает с ней сейчас напишет запрос одной строчкой)

Как очистить базу данных postgresql

DROP DATABASE — удалить базу данных

Синтаксис

DROP DATABASE [ IF EXISTS ] имя [ [ WITH ] ( параметр [, . ] ) ] Здесь допускается параметр: FORCE

Описание

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

Действие команды DROP DATABASE нельзя отменить. Используйте её с осторожностью!

Параметры

Не считать ошибкой, если база данных не существует. В этом случае будет выдано замечание. имя

Имя базы данных, подлежащей удалению. FORCE

Попытаться принудительно завершить все существующие подключения к целевой базе данных. Подключения не завершаются, если в целевой базе имеются подготовленные транзакции, активные слоты логической репликации или подписки.

Операция не будет выполнена, если у текущего пользователя нет прав для завершения других подключений, то есть тех же прав, что требуются для выполнения pg_terminate_backend (они описаны в Подразделе 9.27.2). Также произойдёт ошибка, если завершить подключения не удастся.

Замечания

DROP DATABASE нельзя выполнять внутри блока транзакции.

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

Совместимость

Оператор DROP DATABASE отсутствует в стандарте SQL.

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

Стратегия УДАЛИТЬ БАЗУ ДАННЫХ в PostgreSQL — это команда безвозвратного удаления всех записей каталога и каталога данных. Владелец базы данных может только выполнить эту команду. Его нельзя выполнить, пока кто-то подключен к целевой базе данных. Вам необходимо подключиться к другой базе данных, чтобы выполнить команду DROP DATABASE.

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

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

DROP DATABASE [IF EXISTS) name;

Здесь:-

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

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

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

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

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

Удаление базы данных PostgreSQL с использованием оболочки SQL

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

drop database guru99

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

Удаление базы данных PostgreSQL с использованием оболочки SQL

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

Удаление базы данных PostgreSQL с использованием оболочки SQL

Шаг 4) Удалите базу данных с помощью предложения IF существует, и вы получите предупреждение.

drop database IF EXISTS guru99

Удаление базы данных PostgreSQL с использованием оболочки SQL

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

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

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

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

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

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

команда dropdb

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

Синтаксис:

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

Пример удаления базы данных PostgreSQL

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

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

База данных «guru99» будет удалена без возможности восстановления.

Вы уверены? (да/нет) если вы выберете y, то вы сможете

СБРОСИТЬ БАЗУ ДАННЫХ гуру99;

Итоги

  • Инструкция PSQL DROP DATABASE навсегда удаляет все записи каталога и каталог данных из среды PostgreSQL.
  • Вы можете использовать предложение If существует, чтобы ошибка не отображалась.
  • Вы также можете удалить базу данных с помощью pgadmin
  • Команда dropdb позволяет удаленно удалить или удалить базу данных в PSQL.
  • PostgreSQL BETWEEN Запрос с примером
  • Триггеры PostgreSQL: создание, список и удаление на примере
  • Таблица ALTER PostgreSQL: добавление столбца, переименование столбца/таблицы, примеры
  • Запрос на удаление PostgreSQL (удаление строк из выбора)
  • PostgreSQL существует с примером выбора, вставки, обновления и удаления
  • PostgreSQL INSERT: вставка данных в таблицу
  • Как установить PostgreSQL в Ubuntu (установка pgAdmin)
  • Ограничения PostgreSQL: типы с примером

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

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