Блог об SQL
Разборы, уроки и советы — от основ до продвинутых техник
14 статей по теме Продвинутый уровень
Time series анализ в PostgreSQL: временные ряды и тренды
Анализ временных рядов в PostgreSQL: скользящее среднее, заполнение пропусков, generate_series, lag/lead, сезонность, аномалии. Практические примеры.
Партиционирование таблиц в PostgreSQL: RANGE, LIST, HASH
Партиционирование PostgreSQL: RANGE по дате, LIST по категории, HASH по ID. Partition pruning, индексы, ATTACH/DETACH, автоматическое создание партиций.
LATERAL JOIN в PostgreSQL: продвинутые запросы с зависимыми подзапросами
LATERAL JOIN в PostgreSQL: синтаксис, отличие от обычного JOIN, TOP-N на группу, unnest, generate_series. Когда и зачем использовать LATERAL.
Multi-tenancy в PostgreSQL: паттерны изоляции данных
Три подхода к мультитенантности в PostgreSQL: отдельные БД, схемы на тенанта, общие таблицы с tenant_id. Сравнение, RLS, производительность.
SQL для финансового анализа: P&L, когорты, unit-экономика
SQL-запросы для финансового анализа: P&L отчёт, MRR/ARR, CAC payback, когортная выручка, unit-экономика. Практические примеры для финансовых аналитиков.
Generated columns в PostgreSQL: вычисляемые столбцы
Generated (вычисляемые) столбцы в PostgreSQL: STORED vs виртуальные, синтаксис, ограничения, индексы. Когда использовать вместо триггеров и функциональных индексов.
Сложные SQL-задачи с собеседований: разбор с решениями
Разбор сложных SQL-задач с реальных собеседований: island and gaps, consecutive days, sessionization, median without function, recursive fibonacci.
SQL для дата-инженера: паттерны и техники 2026
SQL-паттерны для дата-инженеров: партиционирование запросов, оконные функции для ETL, обработка поздних данных, идемпотентные пайплайны, Data Vault.
Популярные расширения PostgreSQL: pg_trgm, uuid-ossp, hstore и другие
Обзор ключевых расширений PostgreSQL: pg_trgm для нечёткого поиска, uuid-ossp, hstore, pg_stat_statements, pgcrypto, ltree, tablefunc. Когда и как использовать.
Триггеры в PostgreSQL: создание, виды и практические примеры
Как создавать триггеры в PostgreSQL: BEFORE/AFTER, ROW/STATEMENT, триггерные функции на PL/pgSQL, аудит изменений, updated_at, мягкое удаление.
Фреймы оконных функций SQL: ROWS, RANGE и GROUPS
Полный разбор фреймов в оконных функциях SQL: ROWS vs RANGE vs GROUPS, UNBOUNDED PRECEDING, CURRENT ROW, EXCLUDE, примеры скользящих агрегатов.
Массивы в PostgreSQL: хранение, запросы и функции
Как работать с массивами в PostgreSQL: создание, ANY/ALL, unnest, array_agg, GIN-индекс, поиск по элементам, сравнение с JSONB и нормализацией.
Функции и хранимые процедуры в PostgreSQL: PL/pgSQL с нуля
Создание функций и процедур в PostgreSQL на PL/pgSQL: параметры, возвращаемые типы, условия, циклы, обработка ошибок. Когда использовать функции в SQL.
Рекурсивные CTE в PostgreSQL: иерархии, деревья и графы
Как использовать рекурсивные CTE (WITH RECURSIVE) в PostgreSQL: обход дерева организации, иерархические данные, граф маршрутов, поиск циклов.