📄️ 🛑 Памятка по практическим
Почему в задачах нет готовых CREATE TABLE и зачем вам их писать самим
📄️ Практика: Основы PostgreSQL — DDL и DML
Практика по основам PostgreSQL: DDL (CREATE/ALTER TABLE, CONSTRAINTS), DML (INSERT, RETURNING), первичные и внешние ключи, связи 1:N и N:N
📄️ Практика: Типы данных в PostgreSQL
Практика по типам данных PostgreSQL: числовые, строковые, временные, boolean, uuid, jsonb, массивы
📄️ Практика: Сложные SELECT-запросы
Практика по сложным SELECT-запросам: JOIN всех видов, подзапросы, агрегаты, LATERAL, FILTER, DISTINCT ON, UNION/EXCEPT
📄️ Практика: Индексы в PostgreSQL
Практика по индексам PostgreSQL: B-tree, Hash, GiST, GIN, BRIN
📄️ Практика: CTE и рекурсивные запросы
Практика по CTE и рекурсивным запросам в PostgreSQL
📄️ Практика: Оконные функции
Практика по оконным функциям: ранжирование, смещение, running totals, moving averages
📄️ Практика: Полнотекстовый поиск и текстовые данные
Практика по полнотекстовому поиску, ts_vector, ts_query, ранжированию, подсветке и триграммам
📄️ Практика: Нормализация и денормализация
Практика по нормализации, денормализации, выбору ключей, триггерам и материализованным представлениям
📄️ Практика: Анализ производительности (EXPLAIN / ANALYZE)
Практика по EXPLAIN, EXPLAIN ANALYZE, чтению планов, поиску узких мест и оптимизации
📄️ Практика: Оптимизация запросов в PostgreSQL
Практика по оптимизации запросов: индексы, JOIN, подзапросы, агрегаты, переписывание, кэширование
📄️ Практика: Партиционирование таблиц
Практика по партиционированию: range, list, hash, многоуровневое, миграция, pg_partman, pruning
📄️ Практика: Партиционирование таблиц
Практика по партиционированию: range, list, hash, многоуровневое, миграция, pg_partman, pruning
📄️ Практика: Блокировки и конкурентный доступ
Практика по блокировкам, режимам, deadlocks, advisory locks, SKIP LOCKED, NOWAIT и мониторингу
📄️ Практика: Хранимые процедуры и функции (PL/pgSQL)
Практика по PL/pgSQL: функции, процедуры, переменные, циклы, исключения, динамический SQL, курсоры, RETURNS TABLE
📄️ Практика: Триггеры и правила
Практика по триггерам: BEFORE/AFTER, INSTEAD OF, FOR EACH STATEMENT, WHEN, универсальные аудит-триггеры, soft-delete, пересчёт итогов