Postgres для специалистов сопровождения

Темы курса:

Установка, настройка, базовое администрирование. Написание запросов / оптимизация запросов. Изучение особенностей СУБД

Продолжительность курса: 24 часа

План курса:

  1. Установка Postgres

Планирование развертывания Postgres, установка под Linux и Windows, выполнение первоочередных послеустановочных задач, система папок PostgreSQL и файлы конфигурации

  1. Настройка Postgres

Система файлов конфигурации, команда ALTER SYSTEM, самые важные настройки Postgres, создание и настройка баз данных PostgreSQL, структура баз данных и WAL, работа с шаблонами баз данных

  1. Базовое администрирование

Настройка аутентификации через файлы конфигурации, роли PosgtreSQL, система разрешений PostgreSQL, наилучшие практики при работе с разрешениями

Настройка системы PGAgent для выполнения задач по расписанию, типы заданий и шагов, контроль и логи выполнения заданий

Введение в резервное копирование и восстановление (логическое – дампы и двоичное), восстановление с использованием журналов WAL

Подключение к внешним источникам данных: Foreign Data Wrappers (FDW)

  1. Написание запросов

Основы синтаксиса языка запросов Postgres SQL. Базовый синтаксис SELECT. Список столбцов и DISTINCT.

Сортировка в запросах Postgres SQL. Выражение ORDER BY.

Фильтрация в запросах Postgres SQL. Выражение WHERE. Логические операторы  AND, OR, NOT, IN, BETWEEN.  Поиск с использованием подстановочных символов (LIKE) и регулярных выражений (SIMILAR TO).

Работа с пустыми значениями. Оператор IS NULL и функция COALESCE.

Ограничение количества выводимых записей. LIMIT и FETCH.

Встроенные скалярные функции в Postgres SQL: строковые, математические, даты/времени.

Объединение нескольких таблиц в запросах. INNER JOIN, LEFT OUTER JOIN, RIGTH OUTER JOIN, FULL JOIN, SELF JOIN, CROSS JOIN. Особенности работы с объединениями в Postgres.

Группировка в запросах Postgres SQL. Выражения GROUP BY, HAVING, CUBE, ROLLUP, GROUPING SETS. Агрегатные функции: SUM(), MIN(), MAX(), AVG(), COUNT и другие.

Работа с подзапросами. Обычные и коррелирующие подзапросы. Особенности подзапросов в Postgres с точки зрения производительности.

Работа с наборами значений. UNION, EXCEPT, INTERSECT, SOME/ANY/ALL, EXISTS.

Временные таблицы и общие табличные выражения (CTE, Common Table Expressions). Декомпозиция запросов. Иерархические запросы в Postgres.

  1. Оптимизация запросов

Оптимизация запросов в Postgres. Выбор запросов для оптимизации. Команда EXPLAIN. Применение параметров конфигурации на уровне сеанса. Развертывание модуля pg_hint_plans и применение хинтов в запросах. Лучшие практики при оптимизации запросов в Postgres.

  1. Особенности СУБД Postgres. Основные отличия от других БД (Microsoft SQL Server и др).