Начальные навыки для успешного прохождения курса:
Основы работы с операционными системами: Уверенное пользование ПК. Базовое понимание файловой системы и работы в командной строке (терминале), так как установка и настройка PostgreSQL в средах Linux (Debian, Ubuntu, Mint) требует навыков работы в консоли.
Основы компьютерных сетей: Понимание концепции «клиент-сервер», знание того, что такое IP-адрес и сетевой порт.
Понимание концепции виртуализации: Общее представление о том, что такое гипервизор и виртуальная машина.
Алгоритмическое мышление: Понадобится при переходе от простых SQL-запросов к серверному программированию (написание циклов, условных выражений, триггеров и хранимых процедур).
Полученные навыки после прохождения курса:
Знания- Архитектура и внутренние механизмы работы PostgreSQL.
- Язык SQL и его процедурное расширение PL/pgSQL.
- Принципы проектирования реляционных баз данных, нормализация и построение ER-диаграмм.
- Механизмы обеспечения целостности и согласованности данных (транзакции, уровни изоляции, блокировки, внешние ключи).
- Принципы оптимизации производительности (роль индексов, анализ планов запросов).
- Механизмы обеспечения высокой доступности и отказоустойчивости (физическая и логическая репликация).
- Специфические возможности PostgreSQL: работа со сложными типами данных (массивы, перечисления/enum), механизм расширений (Extensions).
- Принципы обеспечения информационной безопасности СУБД (разграничение доступа, аутентификация).
Умения и навыки- Кроссплатформенное развертывание: Установка и конфигурирование PostgreSQL и pgAdmin 4 в средах Windows, Linux (Debian/Ubuntu/Mint) и macOS.
- Моделирование данных: Проектирование структуры БД и визуализация связей с использованием draw.io.
- Написание сложных запросов: Использование JOIN, подзапросов, агрегатных функций, оконных функций, операторов работы с множествами (UNION, EXCEPT, INTERSECT).
- Серверное программирование: Создание хранимых процедур, триггеров (для аудита и автоматизации), пользовательских функций, курсоров, а также обработка ошибок и написание циклов.
- Администрирование и безопасность: Управление ролями и правами доступа (в том числе через графический интерфейс pgAdmin 4), настройка файлов конфигурации.
- Обслуживание и DevOps-практики: Настройка резервного копирования (Backup/Restore), конфигурирование логической репликации для синхронизации данных между узлами.
- Оптимизация: Работа с индексами, использование временных таблиц, применение специфичных для PG расширений.
Практический опыт- Создание виртуального полигона: Развертывание VirtualBox, установка Windows 10 и различных дистрибутивов Linux (Debian 12, Ubuntu, Mint), настройка сетевого взаимодействия между ними.
- Полный цикл разработки БД: От создания ER-модели до создания таблиц, настройки ограничений, автоинкремента и внешних ключей.
- Автоматизация бизнес-логики: Написание триггеров для автоматического логирования изменений (аудит), создание хранимых процедур для пакетной обработки данных.
- Работа с уникальным функционалом PG: Практическое применение массивов, перечислений и установка/использование сторонних расширений PostgreSQL.
- Настройка отказоустойчивости: Конфигурирование логической репликации между двумя и более инстансами PostgreSQL для обеспечения высокой доступности.
- Обеспечение безопасности: Практическая отработка мер безопасности БД, тонкая настройка прав доступа для различных ролей и пользователей.
- Траблшутинг и администрирование: Восстановление БД из бэкапов, оптимизация медленных запросов с помощью индексов.