01. PostgreSQL

PostgreSQL: основы для разработчиков

PostGreSQL
Цена
Цена для организаций 36000 руб.
Цена для частных лиц 36000 руб.

Длительность курса: 40/5 часов/дней.

Авторский курс.

Длительность курса — 40 академических часов (5 дней).

Курс проводится в формате workshop, предоставляя слушателям возможность изучить основы разработки приложений на SQL, PL/PgSQL, Python и Java для СУБД PostgreSQL.

Целевая аудитория:

Начинающие разработчики приложений для СУБД PostgreSQL. Практикум ориентирован на специалистов, имеющих начальные знания языка SQL и понимание принципов работы реляционных баз данных. Минимальные знания GNU/Linux или UNIX приветствуются.

Результат обучения

В результате обучения на курсе слушатели:

  • смогут устанавливать ПО PostgreSQL и выполнять начальную настройку СУБД;
  • будут знать основные структуры и объекты данных PostgreSQL;
  • познакомятся с системой ролей и прав в PostgreSQL;
  • научатся выполнять команды языков DML и DDL с помощью SQL;
  • смогут использовать структурированные команды SQL;
  • познакомятся с особенностями локализации PostgreSQL и работой с временем и датами с учетом поясного времени;
  • изучат планы выполнения запросов и работу планировщика;
  • освоят основы программирования на стороне клиентов и сервера, а также с расширениями PostgreSQL;
  • познакомятся с принципами создания клиентских программ на Python и Java для PostgreSQL
  • опробуют написание PL/Python и Java кода на стороне сервера PostgreSQL.

Программа курса

Модуль 1. Установка PostgreSQL

  • Варианты установки.
  • Планирование установки.
  • Настройка параметров ядра и окружения.
  • Установка требуемой версии из репозитория.

Модуль 2. Запуск и остановка PostgreSQL

  • Первичная настройка конфигурации PostgreSQL.
  • Настройка аутентификации.
  • Скрипты запуска.
  • Запуск и остановка сервера.
  • Создание базы данных.
  • Проверка сетевых настроек и аутентификации.
  • Архитектура процессов PostgreSQL.

Модуль 3. Клиент psql

  • Ввод команд SQL.
  • Внутренние команды psql.
  • Получение помощи.
  • Выполнение скриптов.
  • Настройка psql.

Модуль 4. Объекты базы данных.

  • Таблицы.
  • Ограничения.
  • Индексы.
  • Внешние ключи.
  • Последовательности.
  • Представления.

Модуль 5. Роли и права.

  • Понятие роли.
  • Схемы.
  • Системные привилегии.
  • Привилегии на доступ к объектам.
  • Выдача и отзыв привилегий.

Модуль 6. Системный каталог.

  • Предназначение системного каталога.
  • Важнейшие каталоги.
  • Важнейшие представления.

Модуль 7. Работа с таблицами.

  • Создание, изменение и удаление таблиц.
  • Использование значений по умолчанию.
  • Наследование и таблицы.
  • Партиционированные таблицы.
  • Управление ограничениями.
  • Создание и управление первичными ключами.
  • Сложные и функциональные индексы.
  • Временные таблицы.
  • Внешние таблицы.

Модуль 8. Работа с индексами.

  • Создание индексов.
  • Изменение индексов.
  • Применение индексов к таблицам.

Модуль 9. Представления.

  • Создание представления.
  • Изменение представления.
  • Автоматически обновляемые представления.

Модуль 10. Последовательности.

  • Создание последовательности.
  • Использование генерируемых значений.
  • Изменение последовательности.

Модуль 11. Подзапросы.

  • Скалярные подзапросы.
  • Многостолбцовые подзапросы.
  • Коррелированные подзапросы.
  • Рекурсивные запросы.
  • Построение CTE – общих табличных выражений с помощью WITH.
  • Вывод иерархических данных с помощью рекурсивных функций.

Модуль 12. Команды DML.

  • Подзапросы в командах DML.
  • Вставка данных на основе подзапроса.
  • Изменение и удаление строк на базе коррелированного подзапроса.

Модуль 13. Работа с массивами.

  • Описание массива.
  • Ввод значений элементов массива.
  • Доступ к массивам.
  • Изменение массивов.
  • Поиск в массивах.

Модуль 14. Локализация.

  • Влияние локали на поведение сервера и клиентов СУБД.
  • Порядок сопоставления и сортировка.
  • Наборы символов.
  • Функции, работающие с локалями.

Модуль 15. Работа с временем и календарными датами.

  • Типы данных времени и даты.
  • Временные интервалы.
  • Учет временных зон.
  • Летнее время.
  • Функции для работы с временем и датами.

Модуль 16. Планы выполнения запросов.

  • Получение плана выполнения запроса.
  • Интерпретация плана.
  • Проверка точности оценок планировщика.
  • Выявление наиболее затратных частей запроса.

Модуль 17. Программирование на стороне сервера

  • Расширения SQL
  • Триггеры
  • Модификация запросов правилами
  • Процедурные языки
  • PL/PgSQL

Модуль 18. PostgreSQL и Java

  • Интерфейсы PostgreSQL и Java
  • Java на стороне клиента и на стороне сервера
  • Возможности JDBC и типы JDBC драйверов
  • Подключение к БД
  • Программирование SQL команд
  • JDBC и SSL

Модуль 19. Программирование на стороне сервера PostgreSQL

  • Возможности и особенности PL/Java
  • Запуск Java на стороне сервера
  • PL/Java хранимый код
  • PL/Java триггеры

Модуль 20. Python и PL/Python

  • Создание клиентского приложения на Python
  • Подключение расширения PL/Python
  • Пример хранимой функции на PL/Python

Практикум: Администрирование PostgreSQL

PostGreSQL
Цена
Цена для организаций 36000 руб.
Цена для частных лиц 36000 руб.

Длительность курса: 40/5 часов/дней.

Администраторы баз данных научатся устанавливать нужную версию PostgreSQL из репозиториев, обновлять программное обеспечение PostgreSQL до актуальной версии, предохраняя при обновлении данные, хранимые в БД. В результате курса администраторы получат понимание основ построения политики резервного копирования и практические навыки выполнения различных видов резервного копирования, а также восстановления из резервных копий.

В ходе курса слушатели освоят построение кластеров на базе PostgreSQL. На курсе также рассматриваются вопросы мониторинга работы PostgreSQL и настройки его производительности.

Описание

Авторский курс.

Продолжительность: 40 ак.ч/5 дней

Практикум предоставляет возможность интенсивной подготовки практикующих администраторов баз данных к работе с PostgreSQL. Цель практикума состоит в быстром получении навыков повседневного администрирования PostgreSQL и понимания основ надежной и безопасной эксплуатации приложений этой СУБД. На практикуме рассматриваются актуальные версии PostgreSQL 9.x и 10 на платформе CentOS 7.x.

По предварительному согласованию в качестве платформы может быть использован любой из распространенных дистрибутивов GNU/Linux, а также FreeBSD при соответствующем изменении тем курса.

Целевая аудитория.

Практикум ориентирован на специалистов, владеющих основами языка SQL и пониманием принципов работы реляционных баз данных. Необходимы также минимальные знания GNU/Linux или UNIX.

Программа курса

Модуль 1. Установка PostgreSQ

  • Варианты установки.
  • Планирование установки.
  • Настройка параметров ядра и окружения.
  • Установка требуемой версии из репозитория.

Модуль 2. Запуск и остановка PostgreSQL

  • Первичная настройка конфигурации PostgreSQL.
  • Настройка аутентификации.
  • Скрипты запуска.
  • Запуск и остановка сервера.
  • Создание базы данных.
  • Проверка сетевых настроек и аутентификации.
  • Архитектура процессов PostgreSQL.​

Модуль 3. Клиент psql

  • Ввод команд SQL.
  • Внутренние команды psql.
  • Получение помощи.
  • Выполнение скриптов.
  • Настройка psql.

Модуль 4. Управление ролями

  • Концепция ролей и их разновидности.
  • Создание и удаление ролей.
  • Изменение атрибутов ролей.
  • Членство и наследование.​

Модуль 5. Схемы и привилегии

  • Понятие схемы, объекты схемы, привилегии.
  • Управление привилегиями.
  • Управление схемами.
  • Путь поиска объектов схем.​

Модуль 6. Управление базами данных

  • Создание и удаление базы данных.
  • Шаблоны баз данных.
  • Изменение настроек баз данных.​

Модуль 7. Инфраструктура хранения

  • Структура кластера базы данных.
  • Табличные пространства.
  • Добавление и удаление табличных пространств.
  • Увеличение пространства кластера средствами LVM.
  • Создание кластера в заданном месте файловой системы.
  • Влияние SELinux.​

Модуль 8. Локализация

  • Влияние национальных настроек на работу БД.
  • Управление локалью.
  • Последовательность упорядочения символов (collation).
  • Национальные наборы символов.​

Модуль 9. Обслуживание сервера

  • Операция VACUUM.
  • Журналы сообщений.
  • Настройка параметров клиентских сессий.
  • Блокировки.
  • Переиндексация.
  • Журналы транзакций.​

Модуль 10. Резервное копирование и восстановление

  • Дамп базы данных и восстановление из дампа.
  • Резервное копирование на уровне файловой системы.
  • Применение моментальных снимков LVM для резервного копирования.
  • Инкрементальное копирование на уровне файловой системы.
  • Архивирование журналов транзакций.
  • Резервное копирование утилитой pg_basebackup.
  • Восстановление к моменту времени в прошлом PITR.​

Модуль 11. Репликация

  • Как работает репликация.
  • Настройка мастер-сервера.
  • Настройка ведомого сервера.
  • Синхронная репликация.
  • Подхват ведомым роли мастера при отказе последного.​

Модуль 12. Обновление ПО PostgreSQL

  • Совместимость версий.
  • Обновление с помощью pg_dump.
  • Обновление с помощью pg_upgrade.​

Модуль 13. Безопасность

  • Шифрование полей данных.
  • Шифрование файловой системы кластера.
  • Защита сессий с помощью SSL.
  • Использование туннелей SSH для защиты сессий.​

Модуль 14. Ресурсы и производительность

  • Мониторинг активности БД.
  • Мониторинг использования ресурсов системы.
  • Настройки параметров ядра, влияющие на производительность.
  • Планирование запросов.
  • Оптимизатор запросов.
  • Статистики.