
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.01.2016, 22:09
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
7 января этого года вышел постгре 9.5 Предлагаю поделиться всеми изменениями, с которыми столкнулись или которых ждали именно Вы. Для меня настоящим сюрпризом стала возможность делать SELECT внутри команды UPDATE http://www.postgresql.org/docs/9.5/static/sql-update.html которой не было еще в версии 9.4.5 9.4Compatibility This command conforms to the SQL standard, except that the FROM and RETURNING clauses are PostgreSQL extensions, as is the ability to use WITH with UPDATE. According to the standard, the column-list syntax should allow a list of columns to be assigned from a single row-valued expression, such as a sub-select: Код: sql 1. 2. 3. This is not currently implemented — the source must be a list of independent expressions. Some other database systems offer a FROM option in which the target table is supposed to be listed again within FROM. That is not how PostgreSQL interprets FROM. Be careful when porting applications that use this extension. Хотя в стандарте такая возможность описана. Наконец-то заработал один их моих запросов, написанный 4 года назад )))) Код: sql 1. 2. 3. Ура, товарищи! -- Россия - отличная страна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2016, 14:25
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
PCContra, JSONB, Блокировки с возможностью SKIP LOCKED, UPSERT, BRIN индексы + всякая админская всячина по мелочи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2016, 14:26
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
ОКТОГЕНPCContra, JSONB правда, это появилось раньше, но всё равно это клёвая фича ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2016, 14:46
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
jsonb_set BRIN индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2016, 15:01
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
PCContraДля меня настоящим сюрпризом стала возможность делать SELECT внутри команды UPDATEВ чем сюрпризность? Селект-выражение в качестве источника можно использовать издревна. Функционально отличается от update from, только односторонностью корреляции. То есть, изменение сводится к очередной вариации синтаксиса. По теме - распечатай релиз-ноты, проставь галочки, что понравилось и повесь в многостраничной рамке над рабочим местом. Не по теме - PCContraРоссия - отличная страна!отличная от чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2016, 15:14
|
|||
|---|---|---|---|
|
|||
postgres 9.5 |
|||
|
#18+
SKIP LOCKED (y) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 09:39
|
|||
|---|---|---|---|
|
|||
postgres 9.5 |
|||
|
#18+
- GROUPING SETS, CUBE, ROLLUP - INSERT ... ON CONFLICT В предыдущих релизах больше всего порадовали: - частичные агрегаты FILTER (WHERE condition) - LATERAL JOIN - тип данных "Range" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 11:37
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
Хотя бы один практичный пример хотелось бы услышать по каждой из Ваших любимых новинок... Ну, с upsert все ясно, про него можно не писать)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 11:59
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
PCContra, человек, не всосавший выгоды LATERAL (для всех СУБД) должен страдать //хотя бы для исп--я table--returning functions. если бы я писал нормальные учётные БД с нормальными констрейнтами -- то же бы утверждал про range-ы и exclude--ы фильтры всегда делались руками -- т.е. разновидность синтаксиса, т.ч. тут шликать излишне. думается вот там ещё что--то было (склероз) для потолочных оценок статистики новенькое -- скорее всего интересно под определённый круг задач. но опять пока не мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 12:48
|
|||
|---|---|---|---|
|
|||
postgres 9.5 |
|||
|
#18+
PCContra Код: sql 1. 2. 3. Мне кажется это просто синтексический сахар... никто не мешал раньше сделать примерно так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 13:40
|
|||
|---|---|---|---|
|
|||
postgres 9.5 |
|||
|
#18+
Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 14:49
|
|||
|---|---|---|---|
|
|||
postgres 9.5 |
|||
|
#18+
qwwqфильтры всегда делались руками -- т.е. разновидность синтаксиса, т.ч. тут шликать излишне. Зато с ними теперь можно в одном запросе сделать несколько агрегатов по разным критериям. Без этой фичи пришлось бы делать столько самосоединений (иногда можно выкрутиться с помощью CASE, но только в простых случаях), сколько у нас различных условий для агрегатов: Код: sql 1. 2. 3. Ну-ка, сформулируйте то же самое без фильтров ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 15:01
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
Владимир П. Код: sql 1. 2. 3. Ну-ка, сформулируйте то же самое без фильтров ;)чем приведенный пример отличается от "только в простых случаях", применимых для case? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2016, 15:27
|
|||
|---|---|---|---|
postgres 9.5 |
|||
|
#18+
Владимир П., не нукай, не запряг. если посмотреть Код: sql 1. эквивалентен Код: sql 1. по крайней мере для STRICT агрегатов. (о существовании иных надо много медитировать) и выигрыш (по крайней мере в написании/синтакс--анализе) только для многопараметрических -- т.к. в них фильтр можно задать один раз, а case придется писать/разбирать в каждом параметре. а был бы ли выигрыш при выполнении -- вопрос. ничто не мешает оптимайзеру соптимайзить одинаковые кейсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1997518]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 430ms |

| 0 / 0 |
