Использую СУБД 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, то будет использован id из массива и иерархия нарушится. Вопрос такой: есть ли возможность в PostgreSQL забронировать некоторый диапазон id, то есть я получаю массив id, этот массив бронируется и при последующей вставке через INSERT с автоинкриментом id из этого массива не используются.