Size: a a a

pgsql – PostgreSQL

2021 January 27

ЯТ

Я Акула Туруруру... in pgsql – PostgreSQL
Что-то я не могу сообразить под вечер... Вставляю в цикле партиями по 100к записей в таблицу (первичный ключ key+value, т.е. дубликаты не вставятся), получаю affected rows и логирую:

INSERT INTO entries (key, value, source)
SELECT key, value, source
FROM import_buffer as src
WHERE src.id BETWEEN batch_start_key AND batch_end_key
ON CONFLICT DO NOTHING;

get diagnostics actually_affected = row_count;


в логе вижу

INSERTED 100000 RECORDS 17000000 - 17100000 OF 4045424231
INSERTED 100000 RECORDS 17100000 - 17200000 OF 4045424231
INSERTED 100000 RECORDS 17200000 - 17300000 OF 4045424231
INSERTED 100000 RECORDS 17300000 - 17400000 OF 4045424231


Как он умудрился вставить 100к записей, а не 99999, если каждый следующий интервал на 1 перекрывается с предыдущим?
источник

AK

Andy Korg in pgsql – PostgreSQL
Milkhael
А можно подробней где и в чем не подошёл?
Хмм, пожалуй есть пример - сильно интегрированная система на msssql. Из-за того что mssql это практически 100% использование возможностей ОС (всякие SOAP, интеграция с почтой и много чего еще) Принудительно было решено переехать на PG, В результате все что было "из  каропки" в ms sql пришлось решать различными внешними инструментами. Усложнилась поддержка, упала надежность.
источник

AK

Andy Korg in pgsql – PostgreSQL
Я Акула Туруруру
Что-то я не могу сообразить под вечер... Вставляю в цикле партиями по 100к записей в таблицу (первичный ключ key+value, т.е. дубликаты не вставятся), получаю affected rows и логирую:

INSERT INTO entries (key, value, source)
SELECT key, value, source
FROM import_buffer as src
WHERE src.id BETWEEN batch_start_key AND batch_end_key
ON CONFLICT DO NOTHING;

get diagnostics actually_affected = row_count;


в логе вижу

INSERTED 100000 RECORDS 17000000 - 17100000 OF 4045424231
INSERTED 100000 RECORDS 17100000 - 17200000 OF 4045424231
INSERTED 100000 RECORDS 17200000 - 17300000 OF 4045424231
INSERTED 100000 RECORDS 17300000 - 17400000 OF 4045424231


Как он умудрился вставить 100к записей, а не 99999, если каждый следующий интервал на 1 перекрывается с предыдущим?
дык between же включает концы отрезк
источник

ЯТ

Я Акула Туруруру... in pgsql – PostgreSQL
Andy Korg
дык between же включает концы отрезк
Включает, в том-то и дело. Значит, предыдущая итерация вставила то, что будет пытаться вставить следующая и у следующей итерации affected rows будет меньше
источник

M

Milkhael in pgsql – PostgreSQL
Я Акула Туруруру
Включает, в том-то и дело. Значит, предыдущая итерация вставила то, что будет пытаться вставить следующая и у следующей итерации affected rows будет меньше
Первичный ключ составной? Key+value? Не просто key?
источник

V

Valery in pgsql – PostgreSQL
Я Акула Туруруру
Включает, в том-то и дело. Значит, предыдущая итерация вставила то, что будет пытаться вставить следующая и у следующей итерации affected rows будет меньше
А сколько строк между 10 и 20 включая границы? 😀
источник

ЯТ

Я Акула Туруруру... in pgsql – PostgreSQL
Milkhael
Первичный ключ составной? Key+value? Не просто key?
да, точно составной
источник

M

Milkhael in pgsql – PostgreSQL
Я Акула Туруруру
да, точно составной
Ну поэтому on conflict не работает наверно
источник

ЯТ

Я Акула Туруруру... in pgsql – PostgreSQL
Valery
А сколько строк между 10 и 20 включая границы? 😀
тьфу, блин, 11 же
источник

ЯТ

Я Акула Туруруру... in pgsql – PostgreSQL
Valery
А сколько строк между 10 и 20 включая границы? 😀
спасибо, и правда мозг к вечеру поплыл)
источник

@

@skynet in pgsql – PostgreSQL
Я Акула Туруруру
спасибо, и правда мозг к вечеру поплыл)
WELCOME TO POSTGRESQL (!)
источник

@

@skynet in pgsql – PostgreSQL
Настоящий друг.

За гранью океана
источник

@

@skynet in pgsql – PostgreSQL
Два админа на одном сервере
источник

4

4g in pgsql – PostgreSQL
Andy Korg
это импортзамещение блять, что б оно сдохла. опять нас в жопу искуствнно загоняют и отделяют от мировых рынков. Извините
Способ которым это идёт - мне и самому не нравится. Но сам факт использования отчасти открытого ПО меня радует.
Если бы не стали заниматься чухней, а просто дали бы возможность свободно юзать opensource было бы гораздо более прогрессивным.
источник

AK

Andy Korg in pgsql – PostgreSQL
4g
Способ которым это идёт - мне и самому не нравится. Но сам факт использования отчасти открытого ПО меня радует.
Если бы не стали заниматься чухней, а просто дали бы возможность свободно юзать opensource было бы гораздо более прогрессивным.
полностью согласен
источник

4

4g in pgsql – PostgreSQL
Andy Korg
это импортзамещение блять, что б оно сдохла. опять нас в жопу искуствнно загоняют и отделяют от мировых рынков. Извините
О ещё один из знакомого чата 😁
источник

4

4g in pgsql – PostgreSQL
Даже из двух 😆
источник

V

Viktor in pgsql – PostgreSQL
Где можно найти задачник по pl/pgsql?)
источник

@

@skynet in pgsql – PostgreSQL
Viktor
Где можно найти задачник по pl/pgsql?)
Конкретнее
источник

V

Viktor in pgsql – PostgreSQL
Задачи по триггерам, функциям, процедурам, мб ещё по курсорам
источник