Курс начинается с основ. Слушатели разбираются в архитектуре PostgreSQL - как работают компоненты системы, управляется память и процессы. Затем они устанавливают PostgreSQL на Linux/Unix, настраивают кластеры и файловую систему. Закрепляют это настройкой сервера: работают с postgresql.conf и pg_hba.conf, разбираются в механизмах MVCC и WAL.
Далее идет работа с самими базами данных. Ученики создают базы данных и учатся управлять несколькими базами на одном сервере. Они осваивают управление ролями - создают их, выдают права через GRANT и REVOKE, работают с наследованием. Также разбираются со схемами: проектируют их, управляют общедоступной схемой и настраивают пути поиска.
Этот блок учит защищать данные. Слушатели изучают стратегии резервного копирования с pg_dump, pg_dumpall и pg_basebackup, автоматизируют эти процессы. Они осваивают Point-In-Time Recovery - архивируют WAL, создают базовые копии и восстанавливают данные на конкретный момент времени. В конце они планируют восстановление после аварий: тестируют планы, управляют журналами транзакций и очищают архивы после восстановления.
Здесь курс переходит к оптимизации. Ученики глубоко изучают типы индексов - B-tree, Hash, BRIN, создают частичные индексы и используют INCLUDE. Они учатся оптимизировать запросы: находят медленные места через EXPLAIN и ANALYZE, улучшают скорость с помощью индексов и переписывания запросов. Также настраивают autovacuum, отслеживают процессы очистки и используют VACUUM с REINDEX для поддержания производительности.
Этот раздел про надежность систем. Слушатели настраивают потоковую репликацию, мониторят отставание и работают с репликационными слотами. Затем переходят к логической репликации для выборочного копирования данных, управляют подписками и решают конфликты. В конце они реализуют автоматическое переключение через Patroni и pgpool-II, настраивают каскадную репликацию и тестируют сценарии отказоустойчивости.
Последний блок охватывает защиту системы. Ученики изучают лучшие практики безопасности: настраивают pg_hba.conf для контроля доступа, внедряют SSL/TLS шифрование. Затем переходят к расширенным функциям - аудит баз данных, контроль доступа на уровне строк через RLS, отслеживание изменений ролей. Завершают настройкой журналирования и мониторинга производительности с использованием pg_stat_activity, pg_stat_replication и сторонних инструментов.
Курс рассчитан на тех, кто уже имеет базовые знания о базах данных, понимает основы SQL и умеет работать с Linux/Unix системами.
На курсе есть поддержка ментора, много практических заданий и после успешного завершения выдается сертификат.