Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Есть функция ф1, в ней создаю и рабтю с временной таблицей ф1() CREATE TEMP TABLE temp_delete ( id int, name text )ON COMMIT DROP Все ок, создал, поработал, автоматом удалилась. Но в такой ситуации ф2() ... perform ф1 perform ф1 получаю ошибку, что такая таблица уже существует. сделал так: внутри ф1 CREATE TEMP TABLE IF NOT EXISTS temp_delete ( id int, name text )ON COMMIT DROP delete from temp_delete; Но может есть более красивый ход? Какова best practice для таких случаев? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 16:30 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинКакова best practice для таких случаев?Не копировать в другую СУБД ms-style. Тем более что и для ms временные таблицы, имея свои проблемы, уже давно не актуальны и используются по недоумию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 16:34 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
p2.Ролг ХупинКакова best practice для таких случаев?Не копировать в другую СУБД ms-style. Тем более что и для ms временные таблицы, имея свои проблемы, уже давно не актуальны и используются по недоумию. 1. и что вместо временных таблиц? так чтобы можно было азполнить, апдейтнуть, выбрать из них? 2. даладно, прямо так категорично на все случаи жизни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 17:28 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, не используйте времянки в пг. учитесь модифицировать табличные наборы на проходе. (тейбл--ретурнинг ф-ями в т.ч.) вот нет в пж табличных переменных. и старпёры ещё и упираются "не нужны". печаль. и тьху на них. зы транкейт всегда лучше делета. ЗЫ2: нужна расстрельная команда -- убивать мс--скльщиков, лезущих в пж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 20:13 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
qwwqРолг Хупин, не используйте времянки в пг. учитесь модифицировать табличные наборы на проходе. (тейбл--ретурнинг ф-ями в т.ч.) вот нет в пж табличных переменных. и старпёры ещё и упираются "не нужны". печаль. и тьху на них. зы транкейт всегда лучше делета. ЗЫ2: нужна расстрельная команда -- убивать мс--скльщиков, лезущих в пж данунах, надо только приветствовать и содействовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 20:19 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг Хупиназполнитьза цать лет практики временные таблицы использовались только для etl, чтобы при загрузке больших пакетов производить очистку данных с использованием индексов. Но 1. использовались global temporary и, опять же, 2. это была специфика оракла, чтобы избежать бесполезного редо. Однопоточно используемые global temporary в случае pg вполне заменяют unlogged. Да и многопыточное использование не сложно решаемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 20:50 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинВсе ок, создал, поработал, автоматом удалилась. Избавляйтесь от времянок явно и сразу, как только они более не нужны. Правило одинаково, что для PG, что для MSSQL. Ролг ХупинНо в такой ситуации ф2() ... perform ф1 perform ф1 Должно помочь, если у Вас еще осталось желание использовать их после всего выше сказанного. qwwqЗЫ2: нужна расстрельная команда -- убивать мс--скльщиков, лезущих в пж Да ваще жечь этих еретиков, инквизиции на них нет =))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 21:20 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
pg_roleДолжно помочь, если у Вас еще осталось желание использовать их после всего выше сказанного. И, кстати, вот тут TEMP TABLES тоже не работают: https://www.postgresql.org/docs/9.6/static/hot-standby.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2016, 22:04 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Зачем людям голову морочите? Функционал временных таблиц ничем не заменить полностью, а во многих задачах вообще не обойтись без них. СТЕ - ни разу не замена, returning тоже. IF NOT EXISTS - нормальное решение специально для таких случаев. Табличные переменные заработали здесь . До этого дополнения можно было пользоваться другими фишками для достижения эффекта табличных переменных. Над проблемой с репликацией занимаются . Были бы они не нужны - не занимались бы. Что там в MS SQL теперь придумали, не знаю, но сомневаюсь, что MS в курсе, что их временные таблицы настолько никому не нужны :) Тем более, что СТЕ там работют кардинально иначе, нежели в postgresql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 23:24 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
* Я, может, немного некорректно выразился - проблема не с репликацией как таковой, а с использованием временных таблиц на репликах, находящихся (ессесно) в режиме read-only. Если вы не пытаетесь в своих "читающих" запросах создавать временные таблицы, то проблема вас не касается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 23:35 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
aceton, чо сказать то хотели ? своими, т.с. словами , хехе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 23:56 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
acetonЗачем людям голову морочите? Функционал временных таблиц ничем не заменить полностью, а во многих задачах вообще не обойтись без них. В каких это "многих"? В самом деле интересно, я вот временами вообще забываю об их сущестовании... acetonСТЕ - ни разу не замена, returning тоже. Почему "ни разу"? Материализация-то происходит, что частично заменяет TEMP TABLE. acetonНад проблемой с репликацией занимаются . Были бы они не нужны - не занимались бы. Другими словами, сейчас этого нет, и писать, например, отчёты с использованием временных таблиц и использовать на hot standby не получится. ;( acetonТем более, что СТЕ там работют кардинально иначе, нежели в postgresql. Это уж точно, настолько "иначе", что для рекурсивных нестандартный синтаксис, к тому же они broken by design. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2016, 11:28 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
PgSQLanonymous3, заменяет != частично заменяет Как только понадобится что-то большее, чем просто материализация, сразу придем к временным таблицам. create index, analyze, copy, сохранение данных в рамках сессии (например, при параллельной обработке очередей, где блокировок недостаточно по объективным причинам) - то, что сходу приходит в голову. Думаю, те, кто активно и разносторонне использует постгрес, привели бы много примеров, где без временных таблиц либо никак, либо очень плохо. qwwq, в ваших задачах получается не использовать временные таблицы - отлично. Там, где можно обойтись - там, часто, лучше обойтись (и, скорее всего, быстрее). Но безапелляционно заявлять новичкам, что их не нужно использовать - это, наверное, неправильно?! Это незаменимый инструмент, и от него не просто не откажутся - его целенаправленно совершенствуют. Если бы автор топика более детально раскрыл свой use-case, можно было бы порекомендовать какое-то конкретное решение. По крайней мере, в сферическом вакууме не вижу ничего костыльного в решении автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2016, 20:48 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
aceton, blahblahblah blahblahblah blahblahblah blahblahblah blahblahblah blahblahblah blahblahblah blahblahblah blahblahblah ну ваше пустозвонство мы наблюдаем уже 3--й псто не надо ля лепить прилагательные тут, ля люди конкретные, существенные: когда очередь обрабатывается параллельно -- она зовётся уже не очередью ,например и т.п. т.ч. кончай валять дурочку -- пиши, что сказать хотел, на пальцах норот же тут пишет не то, что времянки не нужны ващще, а что примерно в 100 случаях из 100, когда именно мс--скльщеку приходит в его мс--куэлью пропитанный моск идея поюзать времянку (т.е. практицки при любом расчете сложнее 1+1) -- задача в пж вполне решается без оной. и надо начинать с того, что пытаться проникнуться этой аксиомой, а не тащить изначально кривые паттерны в пж. не говоря уже о том, что ни табличных переменных вы нам не показали (что такое сессионные переменные в пж известно ещё в 7.2, они там на pltcl например реализовывались парой ф--й get /set ) ни времянки на стендбаях реализованные , а вот именно и только только то самое blahblahblah о них, которое лет 100 уже слышно. короче, помойте рот от маркетоидного бреда и не пеньте тут людям мозги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2016, 23:14 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
acetonЗачем людям голову морочите? Функционал временных таблиц ничем не заменить полностью, а во многих задачах вообще не обойтись без них. СТЕ - ни разу не замена, returning тоже. IF NOT EXISTS - нормальное решение специально для таких случаев. Табличные переменные заработали здесь . До этого дополнения можно было пользоваться другими фишками для достижения эффекта табличных переменных. Над проблемой с репликацией занимаются . Были бы они не нужны - не занимались бы. Что там в MS SQL теперь придумали, не знаю, но сомневаюсь, что MS в курсе, что их временные таблицы настолько никому не нужны :) Тем более, что СТЕ там работют кардинально иначе, нежели в postgresql. Где про это можно почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2016, 10:15 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, как вариант Помимо этого, в постгресе можно писать внутри CTE по-началу неожиданные вещи: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Развлекайтесь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2016, 13:10 |
|
||
|
TEMP TABLE: Как лучше посупать в таком случае
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинacetonЗачем людям голову морочите? Функционал временных таблиц ничем не заменить полностью, а во многих задачах вообще не обойтись без них. СТЕ - ни разу не замена, returning тоже. IF NOT EXISTS - нормальное решение специально для таких случаев. Табличные переменные заработали здесь . До этого дополнения можно было пользоваться другими фишками для достижения эффекта табличных переменных. Над проблемой с репликацией занимаются . Были бы они не нужны - не занимались бы. Что там в MS SQL теперь придумали, не знаю, но сомневаюсь, что MS в курсе, что их временные таблицы настолько никому не нужны :) Тем более, что СТЕ там работют кардинально иначе, нежели в postgresql. Где про это можно почитать? Нигде. Это какое-то дивное изобретение какой-то коммерческой фирмы. Они художники, они так видят. Обратитесь к авторам напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2016, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39307105&tid=1997004]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 289ms |
| total: | 462ms |

| 0 / 0 |
