powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема вставки большого количества строк
5 сообщений из 5, страница 1 из 1
Проблема вставки большого количества строк
    #40041269
vgpframed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!
Подскажите, пожалуйста, как решить мою проблему..
Есть база данных Postgres, соответственно, в ней есть таблица, на все поля наложен уникальный индекс, и пытаюсь добавить 500000 строк одной транзакцией, но упираюсь в то, что транзакция прерывается(точно не знаю на каком количестве строк) и данные не пишутся дальше, мне предложили вариант: после определенного количества строк делать commit, есть смысл это делать и если да, то как?
...
Рейтинг: 0 / 0
Проблема вставки большого количества строк
    #40041302
MikeR.Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По замыслу транзакции и надо делать маленькими и быстрыми. Не пытаться вставить все, спросить об этом пользователей и еще кое-что сделать. Если у вас есть данные по кол-ву записей, которые необходимо вставить, пронумеруйте их и разбейте не несколько пакетов. Обрамите в транзакции и будет понимание какой из пакетов отвалился.
...
Рейтинг: 0 / 0
Проблема вставки большого количества строк
    #40041334
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vgpframed
Доброго дня!
Подскажите, пожалуйста, как решить мою проблему..
Есть база данных Postgres, соответственно, в ней есть таблица, на все поля наложен уникальный индекс, и пытаюсь добавить 500000 строк одной транзакцией, но упираюсь в то, что транзакция прерывается(точно не знаю на каком количестве строк) и данные не пишутся дальше, мне предложили вариант: после определенного количества строк делать commit, есть смысл это делать и если да, то как?


вообще в нормальной ситуации можно хоть 10 миллиардов строк вставить в одну таблицу одним запросом (делал такое пару раз по рабочей необходимости)... так что проблем нет
и никакой необходимости делать промежуточные коммиты особо нет (ну кроме того чтобы не держать открытую транзакцию сутками).

0.5M строк это вообще ниочем... через copy должно за минуту или меньше заливаться
если оно ломается - надо смотреть по логу базы и логу приложения что там происходит и почему.

ps: я надеюсь вы через COPY эту batch заливку сделали? (впрочем на 500k это особо ни на что не влияет)

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Проблема вставки большого количества строк
    #40041360
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы говорите, что на все поля наложен уникальный индекс
,может отваливается по нарушению уникальности.
...
Рейтинг: 0 / 0
Проблема вставки большого количества строк
    #40041512
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
500тыс - не в объёме дело, это точно. Можно и в одной транзакции.
Причин может быть масса, нет смысла угадывать. Нужно точное сообщение об ошибке (смотрите в логах).
Может банально кончается место на диске и т.д.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема вставки большого количества строк
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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