Разработка серверной части приложений
Базовый курс
16
Авторские права
© Postgres Professional, 2017–2024
Авторы: Егор Рогов, Павел Лузанов, Илья Баштанов, Игорь Гнатюк
Фото: Олег Бартунов (монастырь Пху и пик Бхрикути, Непал)
Использование материалов курса
Некоммерческое использование материалов курса (презентации,
демонстрации) разрешается без ограничений. Коммерческое
использование возможно только с письменного разрешения компании
Postgres Professional. Запрещается внесение изменений в материалы
курса.
Обратная связь
Отзывы, замечания и предложения направляйте по адресу:
Отказ от ответственности
Компания Postgres Professional не несет никакой ответственности за
любые повреждения и убытки, включая потерю дохода, нанесенные
прямым или непрямым, специальным или случайным использованием
материалов курса. Компания Postgres Professional не предоставляет
каких-либо гарантий на материалы курса. Материалы курса
предоставляются на основе принципа «как есть» и компания Postgres
Professional не обязана предоставлять сопровождение, поддержку,
обновления, расширения и изменения.
2
Разработчикам
DEV1, 4 дня
Базовый курс
для разработчиков серверной части
DEV2, 4 дня
Расширенный курс
QPT, 2 дня
Оптимизация запросов
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
PGPRO, 3 дня
Возможности
Postgres Pro Enterprise
Для разработчиков серверной части приложений мы предлагаем
специальную линейку курсов.
Для прохождения этих курсов необходимы предварительные знания
основ языка SQL. Специального курса по языку SQL в нашей линейке
нет, но существует множество книг и других образовательных ресурсов,
с помощью которых можно освоить SQL. Мы рекомендуем книгу
Евгения Моргунова «PostgreSQL. Основы языка SQL»:
Базовым курсом для разработчиков является данный курс DEV1.
В курсе DEV2 рассматриваются особенности внутреннего устройства
сервера, влияющие на разработку прикладного кода, и всесторонне
изучается расширяемость: возможность дополнить серверные
механизмы собственным кодом, что позволяет использовать
PostgreSQL для решения самых разнообразных задач.
В курсе QPT детально разбираются механизмы планирования
и выполнения запросов, рассматривается настройка параметров
экземпляра, связанных с производительностью, и изучаются
возможности для поиска проблемных запросов и их оптимизации.
В курсе PGPRO рассматриваются дополнительные возможности,
которые предоставляет СУБД Postgres Pro Enterprise.
3
Администраторам
DBA1, 3 дня
Базовый курс
по администрированию
DBA2, 4 дня
Настройка и мониторинг
QPT, 2 дня
Оптимизация запросов
DBA3, 2 дня
Резервное копирование
и репликация
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
PGPRO, 3 дня
Возможности
Postgres Pro Enterprise
Для администраторов мы предлагаем следующие курсы.
В базовом курсе DBA1 даются общие сведения об архитектуре
PostgreSQL, процессе установки, базовой настройке и управлении
сервером. Рассматриваются основные задачи администрирования,
вопросы управления доступом. Приводится обзор резервного
копирования и репликации.
В курсе DBA2 обсуждается настройка различных конфигурационных
параметров исходя из понимания внутренней организации сервера;
говорится о мониторинге сервера с использованием обратной связи для
итеративной настройки параметров. Также рассматриваются настройки,
связанные с локализацией, управление расширениями и знакомство
с процедурой обновления сервера.
Курс DBA3 посвящен рассмотрению резервного копирования, а также
настройкам физической и логической репликации и сценариям ее
использования. Также дается общее представление о способах и
сложностях построения высокодоступных, масштабируемых кластеров.
Курсы QPT и PGPRO являются общими для разработчиков и
администраторов.
Курсы по администрированию могут быть интересны и разработчикам,
желающим детальнее изучить внутреннее устройство PostgreSQL,
а также в случае, когда на проекте нет выделенной роли
администратора.
4
О курсе DEV1
Продолжительность: 4 дня
Предварительные знания
основы SQL
опыт работы с любым процедурным языком программирования
минимальные сведения о работе в Unix
Какие навыки будут получены
общие сведения об архитектуре PostgreSQL
использование основных объектов БД: таблиц, индексов, представлений
программирование на стороне сервера на языках SQL и PL/pgSQL
использование основных типов данных, включая записи и массивы
организация взаимодействия с клиентской частью приложения
Базовый курс знакомит разработчиков приложений, работающих над
серверной частью, с основами PostgreSQL и написанием хранимых
процедур и функций на языках SQL и PL/pgSQL.
5
Используемые материалы
Подготовленная виртуальная машина
ОС Xubuntu 22
PostgreSQL 16 с документацией на русском языке
учебное веб-приложение «Книжный магазин»
pgAdmin 4
Учебные материалы
руководство слушателя
презентации, демонстрации, практические задания и их решение
(в форматах html и pdf)
справочные материалы — функции и типы данных PostgreSQL,
схема основных таблиц системного каталога с командами psql,
некоторые команды Unix, настройка pgAdmin
Если вы проходите курс самостоятельно, обязательно начните
со знакомства с Руководством слушателя. В числе прочего в нем
написано, где скачать и как использовать виртуальную машину курса
и прочие материалы. Все материалы курса доступны по адресу:
Выполнение практических заданий очень важно для получения навыков
работы с PostgreSQL. Обязательно старайтесь сначала самостоятельно
выполнить задания, а затем просмотрите предлагаемые нами решения,
даже если задание не вызвало вопросов. В решениях могут
содержаться дополнительные сведения, которые не упоминаются
в презентациях и демонстрациях.
Учебные материалы (презентации, демонстрации, практические
задания и их решения) доступны в двух форматах. Формат html удобен
для онлайн-работы, он позволяет копировать фрагменты текста и кода.
Документ в формате pdf разбит на страницы и удобен для печати.
Дополнительные справочные материалы помогут быстро найти нужную
информацию.
В виртуальной машине установлен pgAdmin 4. В курсе мы используем
только psql, но при желании можно воспользоваться и графической
средой.
6
Организационные вопросы
День: ~8 академических часов + обед (1час)
Каждая тема, как правило, состоит из
презентации и демонстраций: ~25–60 мин
практических заданий: ~20–30 мин, включая перерыв
7
День 1
Базовый инструментарий
01. Установка и управление, psql
Архитектура
02. Общее устройство PostgreSQL
03. Изоляция и многоверсионность
04. Буферный кеш и журнал
Организация данных
05. Логическая структура
06. Физическая структура
Первый день занятий посвящен в основном теоретической подготовке.
Здесь рассматриваются основы архитектуры PostgreSQL, без знания
которых невозможно полноценное использование СУБД. Полученные
знания будут применяться на практике в последующих темах курса.
8
День 2
Учебное приложение
07. Книжный магазин
SQL
08. Функции
09. Процедуры
10. Составные типы
PL/pgSQL
11. Обзор и конструкции языка
Начиная с модуля «Учебное приложение» второго дня занятий каждая
тема содержит два набора практических заданий: основных, связанных
с приложением «Книжный магазин» (они отмечены значком книги) и
дополнительных. За время, которое отводится на задания (около 30
минут), выполнить всю практику невозможно. Используйте
дополнительные задания для самостоятельной работы.
9
День 3
PL/pgSQL (продолжение)
12. Выполнение запросов
13. Курсоры
14. Динамические команды
15. Массивы
16. Обработка ошибок
10
День 4
PL/pgSQL (продолжение)
17. Триггеры
18. Отладка
Управление доступом
19. Обзор
Резервное копирование
20. Логическое резервирование