Занятия по курсу включают в себя изучение методов мониторинга PostgreSQL, анализа производительности и выявления узких мест в работе баз данных. Также в программу курса включены вопросы администрирования PostgreSQL, включая управление пользователями, ролями, привилегиями, резервным копированием и восстановлением данных, а также оптимизацией производительности баз данных.
Курс включает в себя практические задания и кейсы, которые помогут слушателям применить полученные знания на практике.
Изучить установку PostgreSQL на операционной системе Astra Linux, конфигурации и настройки баз данных, обеспечение их безопасности и масштабируемости. Овладеть навыками по эффективному управлению и оптимизации работы PostgreSQL в данной операционной системе.
• системные администраторы
• разработчики ПО
• специалисты баз данных, которые хотят углубить свои знания в области управления PostgreSQL
• понимать терминологию;
• уметь устанавливать СУБД PostgreSQL из дистрибутива Astra Linux Special Edition;
• уметь управлять экземпляром сервера;
• уметь управлять кластером БД;
• уметь использовать psql;
• уметь устанавливать pgAdmin из дистрибутива Astra Linux Special Edition;
• уметь использовать pgAdmin;
• уметь настраивать параметры конфигурации на различных уровнях;
• знать шаблоны БД и понимание, как их использовать;
• уметь создавать БД;
• уметь управлять БД (переименовывать, изменять параметры, определять размер);
• понимание, как использовать схемы БД;
• уметь создавать схемы;
• уметь перемещать объекты между схемами;
• уметь создавать и удалять табличные пространства;
• понимать механизм идентификации, aутентификации и авторизации;
• понимать особенности аутентификация в СУБД PostgreSQL из дистрибутива Astra Linux Special Edition;
• уметь работать с конфигурационным файлом pg_hba.conf;
• знать различные методы аутентификации в PostgreSQL;
• уметь настраивать сопоставление имен;
• уметь создавать и использовать роли в СУБД PostgreSQL;
• понимать механизм владения объектами в СУБД PostgreSQL;
• уметь включать роли в другие роли (и исключать из ролей);
• понимать механизм использования групповой роли;
• знать существующие предопределенные роли и их привилегии;
• уметь выполнять автоматизированное тестирование функциональных возможностей PostgreSQL по разграничению доступа, оценивать результаты;
• понимать механизм дискреционного управления доступом к защищаемым ресурсам БД;
• знать привилегии для работы с объектами СУБД;
• знать средства управления дискреционным доступом к объектам БД;
• уметь настраивать защиту на уровне строк;
• знать конфигурационные параметры дискреционного управления доступом в PostgreSQL из дистрибутива Astra Linux Special Edition;
• знать средства управления дискреционным доступом к объектам БД;
• знать принципы мандатного управления доступом в Astra Linux;
• знать мандатные атрибуты, присваиваемые сущностям и субъектам в ОС;
• уметь получать информацию об установленных на файлы и каталоги метках безопасности;
• уметь назначать метки безопасности на файлы и каталоги;
• уметь назначать мандатные уровни учетным записям пользователей;
• уметь просматривать и назначать классификационные метки на объекты БД;
• понимать целостность классификационных меток кластера БД;
• уметь настраивать дополнительные параметры дискреционного и мандатного доступа с помощью конфигурационных файлов;
• уметь изменять уровни конфиденциальности и категории файлов и каталогов в ОС;
• уметь настраивать журнал сообщений СУБД PostgreSQL;
• уметь искать нужные данные в журнале сообщений;
• уметь использовать pgBadger;
• уметь искать нужные данные в журнале аудита;
• уметь настраивать расширенный аудит СУБД PostgreSQL в дистрибутиве Astra Linux Special Edition;
• уметь генерировать события средствами PostgreSQL.
• знать возможности и недостатки логического резервного копирования;
• уметь использовать команды COPY и \copy для перемещения данных между таблицами PostgreSQL и файлами ФС;
• знать расширения синтаксиса команды COPY в Astra Linux Special Edition для работы с классификационными метками;
• уметь работать с утилитами pg_dump и pg_restore в Astra Linux Special Edition;
• уметь работать с утилитой pg_dumpall;
• знать особенности физического резервного копирования;
• уметь выполнять холодное резервное копирование;
• уметь выполнять горячее резервное копирование;
• уметь создавать автономную резервную копию с помощью утилиты pg_basebackup;
• уметь настраивать непрерывное архивирование журналов предзаписи;
• уметь создавать резервные копии при настроенном непрерывном архивировании журналов предзаписи;
• уметь выполнять восстановление с использованием резервных копий журналов предзаписи;
• уметь выполнять восстановление до определенной точки;
• уметь использовать возможности команды VACUUM;
• уметь использовать команды для оптимизации данных: CLUSTER, REINDEX, TRUNCATE;
• уметь собирать статистику.
• знания о базах данных на начальном уровне;
• опыт написания SQL-запросов;
• знакомство с Unix/Linux.
Обучение проводится опытными преподавателями и специалистами в области баз данных, что позволяет слушателям получить актуальные знания и навыки, необходимые для успешной работы в данной сфере. По завершению курса слушатели получат удостоверение о повышении квалификации и сертификат РусБИТех, подтверждающий успешное освоение программы обучения.
Модуль 1. Установка и настройка СУБД PostgreSQL
• Терминология.
• Установка СУБД PostgreSQL из дистрибутива Astra Linux Special Edition.
• Управление экземпляром сервера.
• Управление кластером баз данных.
• Использование psql.
• Установка pgAdmin.
• Использование pgAdmin.
• Настройка параметров конфигурации на различных уровнях
Практическая работа: Установка PostgreSQL, создание кластера БД reserve и запуск обслуживающего его экземпляра, подключение к кластеру БД main через psql, создание супрепользователя PostgreSQL, установка pgAdmin, изменение параметров конфигурации под учетной записью — администратором ОС, изменение параметров конфигурации PostgreSQL под учетной записью —суперпользователем PostgreSQL, не имеющим административных полномочий в ОС.
Модуль 2. Создание баз данных
• Шаблоны баз данных.
• Создание БД.
• Управление БД.
• Схемы в БД.
• Работа со схемами.
• Каталог PGDATA.
• Табличные пространства.
• Управление ТП.
• Перемещение объектов между ТП.
Практическая работа: Расширение шаблона template1 и создание БД на основе измененного шаблона, переименование БД, изменение параметров БД, определение размера БД, работа со схемами, работа с табличными пространствами, перенос данных и удаление ТП.
Модуль 3. Подключение и аутентификация
• Этапы подключения к СУБД.
• Аутентификация в СУБД PostgreSQL из дистрибутива Astra Linux Special Edition.
• Обеспечение доступа PostgreSQL к данным о мандатных метках пользователей.
• Конфигурационный файл pg_hba.conf: порядок обработки, структура записей, возможные значения полей.
• Методы аутентификации в PostgreSQL.
• Сопоставление имен.
Практическая работа: Хранение паролей в СУБД PostgreSQL, влияние конфигурации в файле /etc/parsec/mswitch.conf на возможность подключения к PostgreSQL, настройка авторизации в файле pg_hba.conf, создание файла с паролями ~/.pgpass в ОС пользователя.
Модуль 4. Роли в СУБД PostgreSQL
• Роли в СУБД PostgreSQL.
• Владельцы объектов БД.
• Членство в роли.
• Использование прав групповой роли.
• Предопределённые роли.
Практическая работа: Создание суперпользователя, групповой роли, ролей для пользователей и включение их в групповую роль.
Модуль 5. Дискреционное управление доступом в СУБД PostgreSQL в Astra Linux Special Edition
• Автоматизированное тестирование функциональных возможностей PostgreSQL по разграничению доступа.
• Дискреционное управление доступом в СУБД PostgreSQL.
• Привилегии для работы с объектами СУБД.
• Просмотр списков управления доступом.
• Средства управления дискреционными правами доступа.
• Защита на уровне строк.
• Конфигурационные параметры для настройки дискреционного доступа.
Практическая работа: Автоматизированное тестирование функциональных возможностей по разграничению доступа в PostgreSQL с помощью пакета postgresql se test 11, предоставление привилегий групповой роли, проверка привилегий, полученных через групповую роль, для ролей с параметрами INHERIT и NOINHERIT.
Модуль 6. Мандатное управление доступом в СУБД PostgreSQL в Astra Linux Special Edition
• Мандатное управление доступом в Astra Linux Special Edition.
• Мандатные атрибуты, присваиваемые сущностям и субъектам в ОС.
• Принципы обеспечения защиты от НСД при использовании мандатного управления доступом.
• Средства управления мандатными правилами разрешения доступа.
• Мандатное управление доступом в СУБД PostgreSQL.
• Мандатные атрибуты сеанса пользователя в СУБД PostgreSQL.
• Применение мандатного управления доступом.
• Средства управления мандатным доступом к объектам БД.
Практическая работа: Просмотр и изменение уровней доступа пользователей ОС, работа с файлами ОС, создание пользователей в операционной системе и назначение им классификационных меток, просмотр классификационных меток при подключении к PostgreSQL, настройка кластера, базы и объектов БД для применения мандатного управления доступом в нужной конфигурации, изменение таблицы для поддержки защиты классификационными метками на уровне строк, тестирование работы мандатного управления доступом от имени различных пользователей, изменение значения параметра ac_ignore_socket_maclabel на false, повторное тестирование работы мандатного управления доступом от имени различных пользователей.
Модуль 7. Журналирование и аудит доступа к данным
• Регистрация событий в СУБД PostgreSQL в журнале сообщений.
• Настройка журнала сообщений: размещение, формат, какие данные и когда вносить в журнал, ротация журналов.
• Анализ журнала сообщений.
• Работа с pgBadger для анализа журналов.
• Расширенные возможности аудита в СУБД PostgreSQL в дистрибутиве Astra Linux Special Edition.
• Генерация событий средствами PostgreSQL.
Практическая работа: Просмотр текущего состояния настроек, журнала сообщений, подключение к кластеру БД и просмотр записи о подключении в журнале сообщений, изменение настроек аудита и фиксация запросов в журнале сообщений, использование расширенного аудита СУБД PostgreSQL в дистрибутиве Astra Linux Special Edition, генерация событий средствами PostgreSQL.
Модуль 8. Логическое резервное копирование и восстановление
• Логическое резервное копирование.
• Работа команд COPY и \copy.
• Работа с утилитами pg_dump и pg_restore в Astra Linux Special Edition.
• Работа с утилитой pg_dumpall.
Практическая работа: Создание пользователя для выполнения резервного копирования, создание базы данных и таблицы, выгрузка и загрузка информации через команду /copy, создание резервной копии таблицы из БД с помощью команды pg_dump в формате plain (SQL файл), создание резервной копии БД с помощью команды pg_dump в форматах plain (SQL файл), custom, tar, directory, восстановление данных таблицы из резервной копии в формате plain (SQL файл).
Модуль 9. Физическое резервное копирование и восстановление
• Особенности физического резервного копирования.
• Холодное резервное копирование.
• Горячее резервное копирование.
• Создание автономной резервной копии с помощью утилиты pg_basebackup.
• Непрерывное архивирование журналов предзаписи.
• Создание резервной копии при настроенном непрерывном архивировании журналов предзаписи.
• Восстановление с использованием резервных копий журналов предзаписи.
• Восстановление до определенной точки.
Практическая работа: Создание холодной резервной копии, создание автономной (базовой) резервной копии, восстановление из автономной (базовой) резервной копии, настройка файлового архивирования журналов предзаписи, создание базовой резервной копии при настроенном потоковом архивировании журналов предзаписи, восстановление из базовой резервной копии при настроенном потоковом архивировании журналов предзаписи.
Модуль 10. Регламентные работы
• Возможности команды VACUUM.
• Регулирование нагрузки в процессе очистки.
• Параллельная очистка индексов.
• Команды для оптимизации данных: CLUSTER, REINDEX, TRUNCATE.
• Предотвращение переполнения счетчика транзакций.
• Сбор статистики по базе данных.
Практическая работа: Выполнение обычной очистки, очистка большого количества строк, полная очистка после удаления большого количества строк.
Модуль 11. Автоматизация обслуживания
• Планировщик заданий pgAgent.
• Создание заданий через графическую утилиту pgAdmin.
• Создание заданий через сценарии SQL.
Практическая работа: Создание файла с паролями ~/.pgpass для учетной записи sa, установка и запуск pgAgent, подготовка каталога для выгрузки данных, создание задания на экспорт таблицы в графическом интерфейсе pgAdmin, изменение задания через запрос SQL: добавление шага.
Итоговое тестирование