Удаление последовательности (sequences) в PostgreSQL

автоинкрементный первичный ключ PostgreSQL База данных

База данных PostgreSQL предлагает различные функции, и одна из них — PostgreSQL Sequence. Последовательность PostgreSQL — это объект, связанный с базой данных, который используется для создания последовательности значений, начиная с определенного значения. Обычно он принимает начальную точку, значение приращения, минимальное значение, которое оно может иметь, и максимальное значение, к которому оно может приблизиться. Таким образом, мы решили рассказать вам об использовании последовательности PostgreSQL в базе данных и о том, как различными способами удалить уже существующую последовательность. Итак, приступим.

Удалить последовательность через pgAdmin

Давайте посмотрим, как создать последовательность и удалить ее с помощью пользовательского интерфейса pgAdmin базы данных PostgreSQL. Для этого нам нужно запустить pgAdmin из панели поиска нашей Windows 10. Добавьте пароль для сервера и базы данных, например, aqsayasin, чтобы сделать pgAdmin пригодным для использования. Теперь pgAdmin запущен в нашей системе. Изучите имеющиеся у вас базы данных. Мы будем работать в базе данных «aqsayasin», как показано на рисунке.

В схемах вы должны изучить параметр «Последовательность»

В схемах вы должны изучить параметр «Последовательность», как показано на рисунке. Если в вашей базе данных есть какая-либо последовательность, она покажет список. Поскольку сейчас в нашей базе данных нет последовательности, поэтому она пуста.

Давайте создадим новую последовательность в

Давайте создадим новую последовательность в нашей базе данных «aqsayasin» с помощью pgAdmin. Щелкните правой кнопкой мыши параметр Sequence, чтобы изучить его. Появится показанный ниже диалог. Наведите указатель мыши на опцию «Создать», чтобы развернуть ее. Нажмите на опцию «Последовательность», чтобы быстро создать новую последовательность.

авайте создадим новую последовательность в нашей базе

Показанный ниже экран будет открыт в вашем приложении pgAdmin для создания последовательности. В текстовом поле перед опцией «Имя» напишите имя последовательности, которую вы хотите создать. Мы назвали его «тест». Вы должны выбрать владельца вашей последовательности, т.е. имя пользователя/базу данных. В нашем случае это «аксаясин». Перейдите к разделу «Определение».

Показанный ниже экран будет открыт в вашем приложении pgAdmin

Здесь нужно создать основные настройки нашей последовательности. Вы должны установить каждое значение для каждой опции. Например, мы хотим увеличить значение последовательности на 5, а начало последовательности установлено равным 5. Это означает, что где бы эта последовательность ни собиралась использоваться, она всегда будет начинаться с 5. При каждом вызове последовательности он будет увеличен на 5. Мы должны установить минимальное и максимальное значение для создаваемой последовательности, чтобы она не превышала оба конца. В разделе SQL вы можете увидеть запрос на создание последовательности в PostgreSQL. Нажмите на кнопку «Сохранить», чтобы окончательно завершить создание последовательности «тест».

Здесь нужно создать основные настройки нашей последовател

Обновите параметр «Последовательности над таблицами» в базе данных «aqsayasin». Вы увидите, что только что созданная «тестовая» последовательность указана в нем и готова к использованию.

Обновите параметр «Последовательности над таблицами»

Чтобы увидеть самое первое значение последовательности «тест», вы можете использовать команду SELECT в области редактора запросов, как показано ниже, за которой следует имя последовательности. Первое значение последовательности равно 5 согласно выходным данным.

Чтобы увидеть самое первое значе

Чтобы увеличить первое значение последовательности «test» на 5, вам нужно вызвать последовательность с помощью функции «nextval» с помощью инструкции SELECT, как показано. Отображается увеличенное значение 10.

Чтобы увеличить первое значение последовательности

Использование функции nextval() будет каждый раз увеличивать значение последовательности. Мы вызвали его 5 раз и получили результат 35.

При вызове последовательности «тест» еще 5 раз с помощью

При вызове последовательности «тест» еще 5 раз с помощью функции nextval() отображается значение «60», которое также является максимальным значением для нашей последовательности. После этого он не будет увеличиваться.

При вызове последовательности «тест» еще 5 раз с 

Использование функции nextval() в запросе SELECT снова приводит нас к ошибке, объясняющей, что тестовая последовательность достигла своего максимума.

ользование функции nextval() в запросе SELE

Чтобы удалить или отбросить последовательность «тест», вам нужно щелкнуть по ней правой кнопкой мыши, чтобы увидеть доступные варианты. В диалоговом окне вы найдете опции «Удалить/удалить» и «Удалить каскад». Оба могут быть использованы по-разному. Параметр «Удалить/удалить» удалит только последовательность, а параметр «Каскадное удаление» также удалит объекты, которые от нее зависят.

При использовании опции «Удалить / удалить» мы получим диалоговое окно ниже на нашем экране. Нажмите «да», чтобы продолжить удаление этой «тестовой» последовательности.

При использовании опции «Каскадное удаление» появится диалоговое окно ниже, чтобы убедиться, что вы хотите удалить объекты, связанные с последовательностью, вместе с конкретной последовательностью. Нажмите на кнопку «Да», чтобы продолжить.

Удаление последовательности через оболочку PostgreSQL

Чтобы удалить последовательность, она должна быть в вашей текущей базе данных. Войдите из оболочки PostgreSQL, добавив имя вашего локального хоста, имя базы данных, номер порта, имя пользователя и пароль. В запросе область использует команду CREATE SEQUENCE для создания последовательности с именем «Num». Для простой иллюстрации мы добавили только значение приращения и начальное значение для этой последовательности.

Чтобы удалить последовательность, она должна

Чтобы удалить последовательность «Число», используйте команду DROP SEQUENCE. Вы больше не найдете свою последовательность в базе данных.

Чтобы удалить последовательность «Число»

Давайте посмотрим на более широкую картину. Мы начнем этот пример с создания новой таблицы «Макияж» с помощью команды CREATE TABLE. Всего в таблице 3 столбца. Запрос SELECT показывает, что таблица пуста.

Давайте посмотрим на более широкую картину

Вам нужно создать последовательность «тест» с помощью команды CREATE SEQUENCE. Мы добавляли начальное значение, значение приращения, минимальное значение, максимальное значение и таблицу владельцев этой последовательности, т. е. Makeup. Таким образом, таблица «Макияж» зависит от «тестовой» последовательности.

Вам нужно создать последовательность «тест»

Подставим значения в таблицу Makeup. В разделе VALUES команды INSERT INTO мы использовали функцию nextval(), чтобы использовать тестовую последовательность для добавления значений в таблицу. Всего было добавлено 5 записей.

Подставим значения в таблицу Makeup

Запрос SELECT может отображать недавно добавленные данные таблицы Makeup. Вы можете видеть, что столбец «цена» содержит значения, начинающиеся с 1000 и увеличивающиеся на 1000 в каждой строке с использованием последовательности «тест».

Запрос SELECT может отображать недавно добавленные данные

Добавьте еще 5 записей таким же образом, например, с помощью команды INSERT INTO и функции nextval().

Добавьте еще 5 записей таким же образом

Всего с помощью инструкции SELECT было найдено 10 записей. Мы знаем, что максимальное значение, определенное для «тестовой» последовательности, равно «10000», и оно уже достигнуто в 10-й строке столбца цены. Это означает, что мы не сможем добавить больше записей.

Всего с помощью инструкции SELECT было найдено 10 запи

При использовании команды INSERT INTO для добавления дополнительных записей в таблицу Makeup мы обнаружили ошибку, как показано ниже. Он показывает, что последовательность уже достигла своего максимального значения, т. е. 10 000.

При использовании команды INSERT INTO

Чтобы удалить последовательность «тест», нам нужно использовать команду DROP SEQUENCE с командой RESTRICT.

Чтобы удалить последовательность «тест», нам нужно

Когда вы снова попытаетесь добавить данные в таблицу «макияжа», используя тестовую последовательность в функции nextval(), она не позволит вам, потому что последовательность «тест» исчезла.

Заключение

В этой статье демонстрируется использование последовательности PostgreSQL и способы ее удаления из базы данных PostgreSQL при работе в Windows 10. Мы попытались создать и удалить последовательность с помощью графического интерфейса PostgreSQL, т. е. с помощью pgAdmin и оболочки PostgreSQL по отдельности. В примерах четко показаны различные методы удаления/удаления последовательности отдельно и вместе со связанными с ней объектами.

Читайте также:  Как использовать материализованное представление PostgreSQL
Оцените статью
bestprogrammer.ru
Добавить комментарий