|
Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от opennews (??) on 08-Май-15, 22:59 | ||
В дерево исходных текстов СУБД PostgreSQL приняты изменения (http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;...), добавляющие функциональность "UPSERT (https://wiki.postgresql.org/wiki/UPSERT)", которая реализована через новое выражение "ON CONFLICT DO NOTHING/UPDATE" в операторе "INSERT". Новая возможность позволяет обработать ситуацию невозможности добавления данных через "INSERT", например, из-за нарушения условий уникальности или недопустимости значения одного из полей, и вместо вывода ошибки игнорировать выполнение оператора или изменить связанные с ключевым полем данные (т.е. если запись уже существует, вместо INSERT выполнить UPDATE). | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
1. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от anonymous (??) on 08-Май-15, 22:59 | ||
on duplicate key update. Не хватало, приходилось исключение ловить. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
28. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от zero (??) on 10-Май-15, 10:54 | ||
упс | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
30. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от wulf (ok) on 10-Май-15, 14:13 | ||
Есть более быстрый способ: | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
38. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Roman (??) on 11-Май-15, 02:56 | ||
> update | ||
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору |
39. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 11-Май-15, 03:00 | ||
Атомарность однако), а еще ON CONFLICT в разы быстрее хранимки | ||
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору |
44. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 12-Май-15, 12:26 | ||
надо еще ошибку у инсерта обрабатывать | ||
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору |
43. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Led (ok) on 11-Май-15, 23:33 | ||
> Есть более быстрый способ: | ||
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору |
37. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Roman (??) on 11-Май-15, 02:52 | ||
>> select ... | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
46. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от zero (??) on 24-Май-15, 15:06 | ||
>>> select ... | ||
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору |
47. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от fi (ok) on 26-Май-15, 13:56 | ||
>>> select ... | ||
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору |
2. "В СУБД PostgreSQL включена реализация UPSERT" | +4 +/– | |
Сообщение от AlexAT (ok) on 08-Май-15, 23:04 | ||
Не прошло и десяти лет... | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
6. "В СУБД PostgreSQL включена реализация UPSERT" | –2 +/– | |
Сообщение от Аноним (??) on 09-Май-15, 05:20 | ||
Жиреет кадаврик. Скоро тоже станет средой программирования по типу оракла. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
11. "В СУБД PostgreSQL включена реализация UPSERT" | +2 +/– | |
Сообщение от kurokaze (ok) on 09-Май-15, 12:37 | ||
С разморозкой. На том же перле уже много лет можно функции для постгри писать | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
18. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Aleks Revo (ok) on 09-Май-15, 20:51 | ||
Да и на Python. Там вообще длинный список языков | ||
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору |
20. "В СУБД PostgreSQL включена реализация UPSERT" | +2 +/– | |
Сообщение от all_glory_to_the_hypnotoad (ok) on 09-Май-15, 23:55 | ||
Практически с самого начала таким был | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
3. "В СУБД PostgreSQL включена реализация UPSERT" | –1 +/– | |
Сообщение от Devider (ok) on 08-Май-15, 23:36 | ||
Наркоманээ! Я ее использую в постгресе уже с пару месяцев. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
4. "В СУБД PostgreSQL включена реализация UPSERT" | +3 +/– | |
Сообщение от vitalif (ok) on 08-Май-15, 23:50 | ||
Каким образом, если не секрет? Они только сегодня закоммитили в 9.5-devel. Реально ДЕНЬ ПОБЕДЫ )))) а ты на патченой сборке сидишь что ли? | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Xasd (ok) on 09-Май-15, 00:52 | ||
полезно! | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
7. "В СУБД PostgreSQL включена реализация UPSERT" | –1 +/– | |
Сообщение от Аноним (??) on 09-Май-15, 09:46 | ||
Я джва года ждал... | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
8. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Аноним (??) on 09-Май-15, 10:36 | ||
Это типа как REPLACE в MySQL только круче? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
9. "В СУБД PostgreSQL включена реализация UPSERT" | +3 +/– | |
Сообщение от vitalif (ok) on 09-Май-15, 10:49 | ||
Это практически то же самое что INSERT ON DUPLICATE KEY UPDATE в MySQL. | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
13. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 09-Май-15, 14:26 | ||
on conflict ignore = insert ignore | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
26. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 10-Май-15, 10:51 | ||
Т.е. привет, фрагментация? | ||
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору |
35. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Forth (ok) on 10-Май-15, 16:21 | ||
> Т.е. привет, фрагментация? | ||
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору |
10. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от sdfgsdg on 09-Май-15, 11:32 | ||
Постгрес крут! Время реакции - 4 дня! ))) | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
14. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 09-Май-15, 14:31 | ||
Без апсерта жить можно, но сложно: http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/ | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
16. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Аноним (??) on 09-Май-15, 16:19 | ||
Мне нравится как апсерт (update or insert) в файрберде реализован, синтаксис логичнее и проще запомнить. Merge в оракле тоже логичен. А тут - какой-то кривоватый синтаксис. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
19. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Roman (??) on 09-Май-15, 21:32 | ||
о, а что же скажет маэстро про иерархические запросы?) | ||
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору |
33. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 10-Май-15, 15:35 | ||
Ну, в Oracle я connect by prior использую иногда (в нашей базе есть филиалы, в каждом филиале есть подразделения, т.е. древовидная система, там есть у каждого подразделения первичный ключ и parent id (первичный ключ родительского подразделения), а так больше особо и не нахожу им применения, у нс нет больше данных, которые в виде дерева представлять удобно :) | ||
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору |
34. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 10-Май-15, 15:39 | ||
> Гельфи-погроммисты в треде. | ||
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору |
40. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Аноним (??) on 11-Май-15, 03:09 | ||
Выборка и проверка не атомарны, между ними может вклиниться insert из параллельной транзакции, кроме того это медленно, так что ON CONFLICT рулит. А по поводу иерархии, наверное вы не пользуете ее в постгресе, многословность ON CONFLICTа по сравнению с ней что ландыши на куче навоза) | ||
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору |
21. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Пафнутий Корнегрызов on 10-Май-15, 00:02 | ||
Дорогие любители постгресов, порекомендуйте срафниватель схем, пожалуйста. Чтобы изменения в девелоперской базе выложить в продакшн. Заранее, спасибо | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
23. "В СУБД PostgreSQL включена реализация UPSERT" | –2 +/– | |
Сообщение от Аноним (??) on 10-Май-15, 00:44 | ||
> Дорогие любители постгресов, порекомендуйте срафниватель схем, пожалуйста. Чтобы изменения | ||
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору |
24. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Пафнутий Корнегрызов on 10-Май-15, 03:22 | ||
> pg_dump + "vim -d" | ||
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору |
29. "В СУБД PostgreSQL включена реализация UPSERT" | –2 +/– | |
Сообщение от Здравый on 10-Май-15, 13:25 | ||
>У куда менее продуманных СУБД есть отличные тулзы для сравнения схем | ||
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору |
31. "В СУБД PostgreSQL включена реализация UPSERT" | +1 +/– | |
Сообщение от Пафнутий Корнегрызов on 10-Май-15, 14:15 | ||
Я бы заплатил, так я найти не могу за что | ||
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору |
32. "В СУБД PostgreSQL включена реализация UPSERT" | –1 +/– | |
Сообщение от Аноним (??) on 10-Май-15, 15:11 | ||
В 9-ке вроде information scheme появилась. Просто ее содержимое запихивать в svn кроном а потом разглядывать дифы svn-ом не подходит? | ||
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору |
36. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Пафнутий Корнегрызов on 11-Май-15, 01:54 | ||
Не, это не то, но идею вы мне подали шикарную - напишу сам. Через information_schema не надо парсер писать, если я правильно понял | ||
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору |
42. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от rob pike on 11-Май-15, 11:02 | ||
Несколько готовых рабочих решений - http://dba.stackexchange.com/questions/73846/postgresql-sche... | ||
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору |
45. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 12-Май-15, 13:51 | ||
И ни одно из них не работает полностью. | ||
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору |
25. "В СУБД PostgreSQL включена реализация UPSERT" | –1 +/– | |
Сообщение от Аноним (??) on 10-Май-15, 09:17 | ||
MySQL way (через ж...) ситуацию n юников на таблицу обошли стороной. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
41. "В СУБД PostgreSQL включена реализация UPSERT" | +/– | |
Сообщение от Аноним (??) on 11-Май-15, 03:15 | ||
> MySQL way (через ж...) ситуацию n юников на таблицу обошли стороной. | ||
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |