Изучите расширенные возможности PostgreSQL в 20 пошаговых практических работах. Вы выйдете за рамки таблиц к реляционному проектированию, специальным типам, планам запросов, транзакциям, программируемой логике, администрированию, расширениям, пулу соединений и репликации с SQL и командной строкой.
Каждая работа изолирует одну тему в небольшой локальной среде. Вы исследуете планы, создадите функции и триггеры PL/pgSQL, резервные копии SQL, включите PostGIS, протестируете PgBouncer и настроите потоковую реплику. Пошаговый формат упрощает функции, не скрывая производственные ограничения.
Чему вы научитесь
- Моделировать связи внешними ключами и сравнивать внутренние и внешние JOIN
- Запрашивать JSONB, массивы, UUID, даты, часовые пояса, CTE, подзапросы и оконные функции
- Создавать индексы, применять
EXPLAIN, разделять таблицы и реализовывать GIN-поиск - Управлять транзакциями, откатами, изоляцией, блокировками, views и materialized views
- Разрабатывать хранимые функции, строковые и событийные триггеры и исключения PL/pgSQL
- Управлять ролями и правами, backup, restore,
VACUUM,ANALYZEи логами - Использовать PostGIS для точек, расстояний, буферов и пересечений
- Настраивать PgBouncer и потоковую репликацию PostgreSQL
Для кого этот курс
Курс предназначен для изучающих SQL, разработчиков и будущих администраторов с базовыми знаниями PostgreSQL, которым нужен широкий пошаговый обзор сложных функций. Он даёт практическое знакомство, но не заменяет проектирование и эксплуатацию производственной платформы.
Предварительные требования: Нужно понимать базовый SQL, таблицы, ключи и запросы и уметь работать в Linux-терминале. Опыт psql рекомендуется, поскольку работы сочетают SQL, сервисные и конфигурационные команды.
Учебная среда: Каждая работа предоставляет VNC Ubuntu 22.04, локальный PostgreSQL, терминал и при необходимости PostGIS или PgBouncer. Администрирование использует локальные сервисы и sudo; облачная БД и внешний аккаунт не нужны.
Часто задаваемые вопросы
Почему «продвинутый» курс отмечен Beginner?
Все 20 работ имеют пошаговые инструкции, поэтому отмечены Beginner. Сами функции широки и сложны, так что основы SQL и PostgreSQL важны. Курс вводит в области, но не формирует производственную экспертизу.
Использует ли репликация несколько серверов и даёт ли высокую доступность?
Нет. Основной экземпляр на 5432 и реплика только для чтения на 5433 работают в одной VM. Вы практикуете WAL, pg_basebackup, запуск, мониторинг и передачу данных, но не несколько хостов, автоматический failover или disaster recovery.
Нужна ли внешняя инфраструктура для PostGIS и PgBouncer?
Нет. Оба устанавливаются локально. Пространственные запросы используют небольшую таблицу городов, а PgBouncer тестируется на localhost через pgbench и административную статистику.
Насколько администрирование близко к production?
Команды демонстрируются на маленьких одноразовых БД, включая SQL-копии pg_dump и ручную настройку. Планирование ёмкости, hardening, физические копии, PITR, системы мониторинга и производственные изменения не рассматриваются.


