Главная страница
Навигация по странице:

  • INCREMENT приращение

  • MINVALUE минимум

  • MAXVALUE максимум

  • START начало

  • CACHE кэш

  • CYCLE

  • Таблица 7.1

  • лекция. Коды ошибок Postgresql


    Скачать 223.85 Kb.
    НазваниеКоды ошибок Postgresql
    Анкорлекция
    Дата09.01.2023
    Размер223.85 Kb.
    Формат файлаdocx
    Имя файлаLektsia_Prilozhenia_PostgreSQL.docx
    ТипДокументы
    #878367
    страница26 из 30
    1   ...   22   23   24   25   26   27   28   29   30

    Автоматизация стандартных процедур.


    PostgreSQL является объектно-реляционной СУБД, что позволило включить в нее ряд нестандартных расширений SQL. Часть этих расширений связана с автоматизацией часто выполняемых операций с базами данных.

    В этом разделе описаны две категории расширений: последовательности и триггеры.
    1. Последовательности


    Последовательностью (sequence) в PostgreSQL называется объект базы данных, который фактически представляет собой автоматически увеличивающееся число. В других СУБД последовательности часто называются счетчиками. Последовательности очень часто используются для присваивания уникальных значении идентификаторов в таблицах. Последовательность определяется текущим числовым значением и набором характеристик, определяющих алгоритм автоматического увеличения (или уменьшения) используемых данных.

    Наряду с текущим значением в определение последовательности также включается минимальное значение, максимальное значение и приращение. Обычно приращение равно 1, но оно также может быть любым целым числом.

    На практике последовательности не рассчитаны на прямой доступ из программы. Работа с ними осуществляется через специальные функции PostgreSQL, предназначенные для увеличения, присваивания или получения текущего значения последовательности.

    Создание последовательности


    Последовательности создаются командой SQL CREATE SEQUENCE с положительным или отрицательным приращением. Синтаксис команды CREATE SEQUENCE:

    CREATE SEQUENCE последовательность

    [ INCREMENT приращение ]

    [ MINVALUE минимум ]

    [ MAXVALUE максимум ]

    [ START начало ]

    [ CACHE кэш ]

    [ CYCLE ]

    В этом определении единственный обязательный параметр последовательность определяет имя создаваемой последовательности. Значения последовательности.представляются типом Integer, поэтому максимальное и минимальное значения должны лежать в интервале от 2 147 483 647 до -2 147 483 647.

    Ниже описаны необязательные секции команды CREATE SEQUENCE.

    • INCREMENT приращение. Числовое изменение текущего значения последовательности. Используется при вызове для последовательности функции nextval(). Отрицательное приращение создает убывающую последовательность. По умолчанию приращение равно 1.

    • MINVALUE минимум. Минимальное допустимое значение последовательности. Попытка уменьшить текущее значение ниже заданного минимума приведет к ошибке или циклическому переходу к максимальному значению (если последовательность создавалась с ключевым словом CYCLE). По умолчанию минимальное значение равно 1 для возрастающих последовательностей или -2 147 483 647 для убывающих последовательностей.

    • MAXVALUE максимум. Максимальное допустимое значение последовательности. Попытка увеличить текущее значение выше заданного максимума приведет к ошибке или циклическому переходу к минимальному значению. По умолчанию максимальное значение равно 2 147 483 647 для возрастающих последовательностей или -1 для убывающих последовательностей.

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

    • CACHE кэш. Возможность предварительного вычисления и хранения значений последовательности в памяти. Кэширование ускоряет доступ к часто используемым последовательностям. Минимальное значение, заданное по умолчанию, равно 1; увеличение объема кэша приводит к увеличению числа кэшируемых значений.

    • CYCLE. При достижении нижнего или верхнего порога последовательность продолжает генерировать новые значения. В этом случае она переходит к минимальному значению (для возрастающих последовательностей) или к максимальному значению (для убывающих последовательностей).



    Просмотр последовательностей в базе данных


    Команда \d клиента psql показывает, к какому типу относится тот или иной объект базы данных – последовательность, таблица, представление или индекс. Для получения более конкретной информации можно воспользоваться командой \ds, выводящей список всех последовательностей в текущей базе данных. Пример:

    booktown=# \ds

    List of relations Name Type | Owner

    book_ids | sequence | manager

    shipments_ship_id_seq j sequence | manager

    subject_ids j sequence | manager

    (3 rows)

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

    Таблица 7.1. Атрибуты последовательностей.

    Атрибут

    Тип

    sequence name

    name

    last_value

    integer

    increment by

    integer

    max value

    integer

    min value

    integer

    cache value

    integer

    log cnt

    integer

    is_cycled

    "char"

    is called

    "char"


    1   ...   22   23   24   25   26   27   28   29   30


    написать администратору сайта