Под занавес уходящего года предлагаю традиционно вспомнить, про какие интересные возможности и особенности работы с PostgreSQL мы рассказали в нашем блоге.
Если не видели дайджест за прошлый год — время наверстать упущенное!
Курс "PostgreSQL для начинающих"
Мы начали публикацию лекций курса для тех, кто только-только начинает изучать PostgreSQL.
19.12 — #2 - Простые SELECT (+10, *103)
12.12 — #1 - Основы SQL (+33, *249)
Анализ запросов в PostgreSQL
Как мы анализируем планы запросов, чтобы сделать их максимально быстрыми.
31.07 — Всегда ли хорош Index Only Scan? (+25, *65)
Разбираемся, как конкретно работает IOS в PostgreSQL, и почему панацеей он не является.
SQL Antipatterns и оптимизация SQL
Как поправить наиболее частые ошибки разработчиков при работе с базой.
02.11 — ходим по JSON-граблям (+26, *91)
Как можно легко "убить" производительность запроса неэффективной работой с JSON-значениями, и как это поправить.
13.01 — Индиана Джонс и максимальное значение ключа, или В поисках «последних» записей (+20, *77)
Как [не]эффективно можно найти последний заказ по определенному набору клиентов. Или любую другую "последнюю" запись по известной координате.
SQL HowTo
Учимся писать нетривиальные SQL-запросы для решения прикладных задач.
20.12 — итоги по строкам и столбцам «в одно действие» (+26, *93)
Пробуем варианты с использованием REPEATABLE READ, временных таблиц, CTE, UNION ALL и GROUPING SETS для хорошего решения типовой бизнес-задачи.
28.11 — TOP-N на субинтервалах (+11, *42)
Учимся эффективно искать "топовые" значения на каждом дне, месяце, квартале интервала.
13.09 — ближайший общий предок в дереве (LCA) (+13, *41)
Собираем на SQL разные варианты реализации одного из алгоритмов на графах и узнаем некоторые удобные возможности этого языка. (видео)
11.05 — замена в строке по набору (+9, *28)
Пишем на SQL аналог str_replace или strtr.
21.02 — крупицы золота в реестре (+18, *67)
Как заставить PostgreSQL перебрать максимум записей со сложной неиндексируемой фильтрацией за ограниченное время, чтобы не заставлять пользователя ждать "крутилки" в интерфейсе.
Микропостинг
04.12 — Превращаем DECIMAL в inet (+7, *3)
24.11 — IS [NOT] NULL и OR/AND-комбинации (+9, *10)
23.11 — concat_ws (+7, *3)