powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Идентификаторы при вставке записей
4 сообщений из 4, страница 1 из 1
Идентификаторы при вставке записей
    #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
Идентификаторы при вставке записей
    #39856111
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
setval поможет
...
Рейтинг: 0 / 0
Идентификаторы при вставке записей
    #39856195
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может LTREE?
...
Рейтинг: 0 / 0
Идентификаторы при вставке записей
    #39857721
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11но если между получением массива id и вставкой записей,
будет добавлена левая запись при помощи INSERT,
то будет использован id из массива и иерархия нарушится.
Не понятно. Такой проблемы не длолжно быть, если конкурентный INSERT вставляет тоже используя nextval(seq).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Идентификаторы при вставке записей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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