На этом курсе начинают с основ - рассматривают архитектуру PostgreSQL и сравнивают ее с другими системами управления базами данных. Участники устанавливают PostgreSQL и настраивают параметры для оптимальной работы. Учатся выполнять административные задачи: управлять ролями, настраивать права доступа и обеспечивать безопасность подключений.
Далее курс охватывает способы взаимодействия с базами данных через консоль. Участники осваивают создание резервных копий с помощью pg_dump и восстановление данных через pg_restore. Рассматривают основные операции с данными - CRUD (Create, Read, Update, Delete) и изучают особые типы SQL-запросов.
Этот модуль посвящен принципам проектирования баз данных. Участники изучают нормализацию, реляционность данных и различные типы связей между таблицами - один к одному, один ко многим и многие ко многим. Рассматривают специфические типы данных PostgreSQL, включая JSON/JSONB, массивы и hstore.
Здесь участники обучаются улучшать скорость работы баз данных. Изучают различные типы индексов - B-Tree, Hash, GiST, GIN - и анализируют запросы с помощью EXPLAIN. Осваивают технику партиционирования таблиц для работы с большими объемами данных и получают практические советы по оптимизации.
В этой части курса участники изучают язык программирования PL/pgSQL. Учатся создавать функции, использовать циклы и условные операторы. Осваивают создание триггеров для автоматизации задач и правил для изменения поведения запросов. Рассматривают методы обработки исключений и оптимизации кода.
Завершающие модули охватывают защиту данных, кластеризацию и работу с транзакциями. Участники знакомятся с популярными расширениями PostgreSQL, такими как PostGIS и Foreign Data Wrapper. Обучаются интегрировать PostgreSQL с языками программирования Python и Java, использовать в веб-приложениях и работать с ORM системами.
Курс завершается разбором реальных задач участников и ответами на вопросы. Участники получают рекомендации по дальнейшему развитию навыков работы с PostgreSQL и самостоятельному изучению дополнительных возможностей системы.