Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Идентификаторы при вставке записей / 4 сообщений из 4, страница 1 из 1
01.09.2019, 01:51
    #39856056
polin11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификаторы при вставке записей
Использую СУБД PostgreSQL, вставляю записи в таблицу Контакты, поле Контакт - поле c id.
Вставку делаю записей при помощи PGCOPY.
Вставляемые записи являются частью иерархического списка,
у каждой записи есть поле Родитель - id родителя.
Я получаю массив id вставляемых записей:
Код: sql
1.
2.
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 из этого массива не используются?
...
Рейтинг: 0 / 0
01.09.2019, 18:56
    #39856111
cone
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификаторы при вставке записей
setval поможет
...
Рейтинг: 0 / 0
02.09.2019, 10:26
    #39856195
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификаторы при вставке записей
Может LTREE?
...
Рейтинг: 0 / 0
05.09.2019, 09:30
    #39857721
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификаторы при вставке записей
polin11но если между получением массива id и вставкой записей,
будет добавлена левая запись при помощи INSERT,
то будет использован id из массива и иерархия нарушится.
Не понятно. Такой проблемы не длолжно быть, если конкурентный INSERT вставляет тоже используя nextval(seq).
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Идентификаторы при вставке записей / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]