Использую СУБД PostgreSQL, вставляю записи в таблицу Контакты, поле Контакт - поле c id.
Вставку делаю записей при помощи PGCOPY.
Вставляемые записи являются частью иерархического списка,
у каждой записи есть поле Родитель - id родителя.
Я получаю массив id вставляемых записей:

SELECT array_agg(nextval(seq)) «arr»

FROM generate_series(1, 10 ), pg_get_serial_sequence(«Контакты», «Контакт» seq

затем заполняю поле Родитель из полученного массива id и через PGCOPY вставляю записи.
Все хорошо работает, но если между получением массива id и вставкой записей,
будет добавлена левая запись при помощи INSERT IGNORE,
то будет использован id из массива и иерархия нарушится.
Вопрос такой: есть ли возможность в PostgreSQL забронировать некоторый диапазон
id, то есть я получаю массив id, этот массив бронируется и при последующей
вставке через INSERT IGNORE с автоинкриментом id из этого массива не используются.








 ,






URL записи