|
Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "В СУБД 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-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |