FT.DBA1-18

Tantor Postgres: DBA1-18 Администрирование PostgreSQL 18

Курс предназначен для администраторов PostgreSQL и всех, кто хочет познакомиться с архитектурой и задачами администрирования СУБД PostgreSQL 18 и более ранних версий, а также возможностями Tantor Postgres SE, SE 1C, BE, Free.

Отличия от предыдущей версии курса
- Курс является обновленной версией курса DBA1-17 "Tantor: Администрирование PostgreSQL 17".
- Курс полезен для тех, кто планирует использовать не только Tantor Postgres, но и ванильный PostgreSQL.
- Обзор библиотек и расширений Tantor Postgres перенесён в заключительную главу курса.

Предварительная подготовка:
Базовые навыки работы в операционных системах семейства Linux и базовые знания SQL

60 000₽

Длительность

5 дней (40ч в неделю)

Доступ к курсу

Навсегда в личном кабинете

Документы

Удостоверение о повышении квалификации

  • Знание архитектуры PostgreSQL
  • Установка и создание кластера баз данных
  • Начальная настройка параметров конфигурации
  • Организация хранения данных на логическом и физическом уровнях
  • Повседневные задачи администрирования и регламентные работы
  • Создание резервных копий
  • Физическая и логическая репликация

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

18 модулей
Введение
- Предварительная подготовка
- Материалы курса
- Разделы курса
- О курсе
- О компании Тантор Лабс
- СУБД Tantor Postgres
- Tantor XData
- Tantor Polar
- Платформа Tantor
- Доработка расширений PostgreSQL
- Конференции PGBootCamp

Установка
- Предварительные требования
- Проверка возможности установки
- Инсталлятор
- Локальная установка
- Процесс установки
- После установки
- Установка дополнений
- Конфигураторы
- Создание кластера утилитой initdb
- Провайдеры локализации
- Выбор параметров локализации

Управление
- Утилита управления экземпляром pg_ctl
- Относительные пути и pg_ctl
- Процесс postgres
- Управление экземпляром через systemctl
- systemctl и pg_ctl
- Работа в контейнере docker
- Три режима остановки экземпляра
- Остановка экземпляра
- Сообщения об остановке экземпляра
- Утилиты управления (обёртки команд SQL)
- Утилиты резервирования
- Утилиты управления (другие)
- Утилиты управления (продолжение)

Утилита psql
- Терминальный клиент psql
- Соединение с базой данных
- Параметры соединения
- Получение справки по командам psql
- История команд и постраничный вывод
- Форматирование вывода в psql
- Вывод результата запроса в формате HTML
- Приглашение к вводу команд (промпт) psql
- Переменные окружения, на которые реагирует psql
- Переменные psql \set
- Выполнение команд в psql
- Параметр ON_ERROR_ROLLBACK
- Автоматическая фиксация транзакций
- Выполнение командных файлов в psql
- Переменные psql
- Выполнение командных файлов в psql
- Графические приложения: DBeaver
- Графические приложения: Платформа Tantor
- Демонстрация
- Практика

Архитектура PostgreSQL
- Экземпляр PostgreSQL
- Процессы экземпляра PostgreSQL
- Запуск экземпляра, процесс postgres
- Запуск серверного процесса
- Общая память процессов экземпляра
- Кэш таблиц системного каталога
- Представление pg_stat_slru
- Локальная память процесса
- Представление pg_backend_memory_contexts
- Функция pg_log_backend_memory_contexts(PID)
- Структуры памяти, обслуживающие буферный кэш
- Структуры памяти, обслуживающие буферный кэш (продолжение)
- Закрепление блока в буфере
- Закрепление буфера (pin) и блокировка content_lock
- Стратегии замены буферов (буферные кольца)
- Поиск блока в буферном кэше
- Освобождение буферов при удалении файлов
- Процесс фоновой записи bgwriter
- Очистка кэша буферов процессом bgwriter
- Контрольная точка
- Шаги выполнения контрольной точки
- Шаги выполнения контрольной точки (продолжение)
- Взаимодействие процессов экземпляра с диском
- Практика

Многоверсионность
- Семантический разбор
- Трансформация (переписывание) запроса
- Планирование выполнения (оптимизация)
- Выполнение запроса
- Команда EXPLAIN
- Параметры команды EXPLAIN
- Параметры команды EXPLAIN (продолжение)
- Индексы для ограничений целостности
- Способы доступа к данным в плане запроса
- Методы доступа к строкам
- Способы соединения наборов строк
- Кардинальность и селективность
- Стоимость плана запроса
- Статистики
- Таблица pg_statistic
- Накопительная статистика
- Расширение pg_stat_statements
- Параметры расширения pg_stat_statements
- Практика

Расширения PostgreSQL
- Расширяемость PostgreSQL
- Директории файлов расширений и библиотек
- Установка расширений
- Файлы расширений
- Foreign Data Wrapper
- Расширение postgres_fdw
- Расширение file_fdw
- Расширение dblink
- Практика

Конфигурирование PostgreSQL
- Обзор
- Параметры конфигурации
- Просмотр параметров
- Просмотр параметров (продолжение)
- Представления для просмотра параметров
- Основной файл параметров postgresql.conf
- Файл параметров postgresql.auto.conf
- Применение изменений параметров конфигурации
- Привилегии на изменение параметров конфигурации
- Классификация параметров: Контекст
- Параметры контекста internal
- Классификация параметров: Уровни
- Классификация параметров: Уровни (продолжение)
- Параметры хранения на уровне таблиц и индексов
- Классификация параметров: Категории
- Категория: "Для разработчиков"
- Категория: "Пользовательские настройки"
- Названия и значения параметров конфигурации
- Параметр конфигурации transaction_timeout
- Автономные транзакции
- Параметр конфигурации transaction_buffers
- Параметры multixact_members_buffers и multixact_offsets_buffers
- Параметр конфигурации subtransaction_buffers
- Параметр конфигурации notify_buffers
- Задание параметров при создании кластера
- Разрешения на директорию PGDATA
- Размер блока данных PostgreSQL
- Ограничения PostgreSQL
- Параметр enable_large_allocations
- Ограничения на длину идентификаторов
- Конфигурационные параметры
- Демонстрация
- Практика

Логическая структура кластера
- Кластер баз данных
- Экземпляр
- База данных
- Список баз данных
- Создание базы данных
- Изменение свойств базы данных
- Команда ALTER DATABASE
- Удаление базы данных
- Схемы в базе данных
- Создание и изменение схем
- Путь поиска объектов в схемах
- Специальные схемы
- Определение текущего пути поиска
- В какой схеме будет создан объект
- Путь поиска в подпрограммах SECURITY DEFINER
- Маскировка объектов схем
- Системный каталог
- Общие объекты кластера
- Использование системного каталога
- Обращение к системному каталогу
- reg-типы
- Часто используемые команды psql
- Событийные триггеры
- Демонстрация
- Практика

Физическая структура кластера
- Директория файлов кластера PGDATA
- Директория и файлы в PGDATA
- Файлы журнала предварительной записи (WAL)
- Директория с файлами журнала
- Табличные пространства
- Табличные пространства: характеристики
- Табличные пространства: характеристики (продолжение)
- Команды управления табличными пространствами
- Изменение директории табличного пространства
- Параметры табличных пространств
- Временные файлы
- Параметры конфигурации для временных файлов
- Основной слой хранения данных
- Дополнительные слои
- Расположение файлов объектов
- Размеры табличных пространств и баз данных
- Функции определения размера
- Перемещение объектов
- Смена схемы и владельца
- Реорганизация и перемещение таблиц утилитой pg_repack
- Уменьшение размера файлов таблиц утилитой pgcompacttable
- TOAST (The Oversized-Attribute Storage Technique)
- TOAST (The Oversized-Attribute Storage Technique)
- Поля переменной длины
- Поля переменной длины (продолжение)
- Вытеснение полей в TOAST
- Алгоритм вытеснения полей в TOAST
- TOAST chunk
- Ограничения TOAST
- Колоночное хранение: общая информация
- Колоночное хранение: особенности использования
- Колоночное хранение: параметры
- Демонстрация
- Практика

Диагностический журнал
- Диагностический журнал
- Уровни важности сообщений
- Расположение журнала
- Передача сообщений syslog
- Ротация файлов диагностического журнала
- Диагностический журнал
- Параметры диагностики
- Отслеживание использования временных файлов
- Отслеживание работы автовакуума и автоанализа
- Наблюдение за контрольными точками
- Описание записей log_checkpoints
- Описание записей log_checkpoints (продолжение)
- Утилита pg_waldump и записи log_checkpoints
- Утилита pg_waldump и записи log_checkpoints (продолжение)
- Логирование соединений
- Параметр log_connections
- Параметр log_disconnections
- Диагностика частоты соединений с базой данных
- Диагностика блокирующих ситуаций
- Практика

Безопасность
- Пользователи (роли) в кластере баз данных
- Пользователи (роли)
- Атрибуты (параметры, свойства) пользователей
- Параметр конфигурации createrole_self_grant
- Выданные пользователям привилегии
- Атрибут INHERIT и GRANT WITH INHERIT
- Переключение сессии в другую роль и смена ролей
- Предопределённые (служебные) роли
- Права на объекты
- Просмотр прав на объекты в psql
- Привилегии по умолчанию (DEFAULT PRIVILEGES)
- Защита на уровне строк (Row-level security, RLS)
- Подсоединение к экземпляру
- Файл pg_hba.conf
- Содержимое pg_hba.conf
- Содержимое pg_hba.conf (продолжение)
- Файл сопоставления имён pg_ident.conf
- Практика

Физическое резервирование
- Виды резервных копий
- Холодные бэкапы
- Что нужно резервировать
- Ограничения при создании бэкапа
- Архив журналов
- Процедура восстановления
- Процедура восстановления (продолжение)
- Пример восстановления
- Применение журнальных записей (WAL)
- Линии времени
- Файлы журнала предварительной записи (WAL)
- LSN (Log Sequence Number)
- Названия журнальных файлов и LSN
- Функции для работы с журналами
- Отсутствие потерь (Durability)
- Утилита pg_receivewal
- Zero data loss (RPO=0)
- Запуск pg_receivewal как службы
- Слот репликации
- Утилита резервирования pg_basebackup
- Создание резервной копии
- Создание резервной копии (продолжение)
- Параметр конфигурации full_page_writes
- Инкрементальные бэкапы
- Пример инкрементального резервирования
- Утилита pg_verifybackup
- Утилита резервирования wal-g
- Демонстрация
- Практика

Логическое резервирование
- Логическое резервирование
- Примеры использования
- Сравнение логического и физического резервирования
- Команда COPY .. TO
- Команда COPY .. FROM
- Команда psql \copy
- Утилита pg_dump
- Параллельная выгрузка
- Утилита pg_restore
- Возможности pg_restore
- Утилита pg_dumpall
- Возможности pg_dumpall
- Строки большого размера
- Параметр enable_large_allocations
- Демонстрация
- Практика

Физическая репликация
- Физическая репликация
- Мастер и реплики
- Реплики и архив журнала
- Настройка мастера
- Создание реплики
- Слоты репликации
- Параметры конфигурации на репликах
- Конфликты на реплике
- Аномалия long fork
- Горячая реплика
- Обратная связь с мастером
- Мониторинг горизонта
- Мониторинг горизонта (продолжение)
- Параметры max_slot_wal_keep_size и transaction_timeout
- Параметры мастера, которые должны быть синхронизированы с репликами
- Смена ролей мастер-реплика
- Повышение реплики до мастера
- Файлы истории линий времени
- Утилита pg_rewind
- Утилита pg_rewind (продолжение)
- Процессы экземпляра реплики
- Отложенная репликация
- Проблема с перезапуском walreceiver
- Задержка при резервировании реплики
- Восстановление повреждённых блоков с реплики
- Демонстрация
- Практика

Логическая репликация
- Логическая репликация
- Применение логической репликации
- Физическая и логическая репликация
- Идентификация строк
- Способы идентификации строк
- Действия для создания логической репликации
- Создание публикации
- Создание подписки
- Свойства подписки
- Свойства подписки (продолжение)
- Утилита pg_createsubscriber
- Нагрузка на экземпляр
- Получение журнальных данных с реплики
- Конфликты
- Мониторинг логической репликации
- Двунаправленная репликация
- Демонстрация
- Практика

Обзор Платформы Tantor
- Инструменты мониторинга
- Платформа Tantor
- Возможности Платформы Tantor
- Работа с экземплярами PostgreSQL: Обзор
- Список кластеров Patroni и их экземпляров
- Работа с экземплярами: Конфигурация
- Работа с экземплярами: Браузер БД -> Аудит
- Браузер БД -> SQL-редактор и Схема
- Работа с экземплярами: Профилировщик запросов
- Профилировщик запросов -> Планы
- Экземпляр: Профилировщик запросов: рекомендации
- Репликация и Табличные пространства
- Работа с экземплярами: Задачи
- Модули Платформы Tantor
- Анонимайзер
- Оповещения
- Интеграция со службами сообщений
- Курс по Платформе Tantor

Возможности Tantor Postgres
- Tantor Postgres - ветвь PostgreSQL
- Доработки в Tantor Postgres
- Дополнительные параметры 17.6, 17.9, 18.3
- PostgreSQL 18: автовакуум
- PostgreSQL 18: репликация
- PostgreSQL 18: сообщения
- PostgreSQL 18: файлы
- Потоковый и асинхронный ввод-вывод
- Tantor Postgres 18: сжатие данных
- Tantor Postgres 18: ILM
- Tantor Postgres 18: auto_dump
- Tantor Postgres 17: дополнительные параметры
- Tantor Postgres 17: расширения
- Параметры оптимизатора запросов 17.6 - 18.3
- Параметры оптимизатора запросов 17.5
- Параметры для временных таблиц
- Функции для работы с uuid версии 7
- Tantor Postgres 18: расширение pg_sample_profile
- Расширение pg_wait_sampling
- История событий ожидания
- Расширение pg_stat_kcache
- Статистики, собираемые pg_stat_kcache
- Расширение pg_store_plans
- Tantor Postgres 17: расширение pg_tde
- Tantor Postgres 17: валидатор oauth_base_validator
- Параметр enable_large_allocations
- Алгоритм сжатия pglz
- Параметр libpq_compression
- Параметр wal_sender_stop_when_crc_failed
- Параметр backtrace_on_internal_error
- Расширение uuid_v7
- Расширение pg_tde (Transparent Data Encryption)
- Валидатор oauth_base_validator
- Tantor Postgres 17: библиотека credcheck
- Расширение pg_variables
- Производительность при использовании pg_variables
- Преимущества расширения pg_variables
- Расширения pgaudit и pgaudittofile
- Конфигурирование расширений pgaudit и pgaudittofile
- Расширение pg_background
- Tantor Postgres 16: библиотека pg_stat_advisor
- Расширения fasttrun и online_analyze
- Расширение mchar
- Расширение fulleq
- Расширение orafce
- Расширение http
- Алгоритм сжатия pglz
- Параметр libpq_compression
- Параметр wal_sender_stop_when_crc_failed
- Параметр backtrace_on_internal_error
- Утилита pg_configurator
- Утилита pg_anon
- Tantor Postgres 17: утилита pg_diag_setup.py
- Tantor Postgres 17: утилита pg_sec_check
- Tantor Postgres 16: утилита pgcopydb
- Утилита WAL-G (Write-Ahead Log Guard)
- Tantor Postgres: Расширение PipelineDB
- Другие расширения
- Практика

Как проходит обучение на платформе ФОРС

[ 01 ]

Знакомство с платформой

Платформа учебного центра ФОРС предназначена для удобного и комфортного обучения. Доступ к материалам будет открыт сразу после приобретения курса, а также навсегда доступен в личном кабинете.

[ 02 ]

Обучение

Каждый раздел содержит уроки с теоретическими материалами в видео и текстовых форматах, а так же демонстрацию практических примеров от преподавателей. Самостоятельная работа поможет закрепить полученные знания.

[ 03 ]

Обратная связь и поддержка

Мы поддерживаем онлайн-ресурс, где слушатели всегда могут задать вопрос преподавателю или коллективно обсудить возможные проблемы с другими студентами. Вы всегда сможете получить необходимую информацию в личном кабинете.

[ 04 ]

Дипломы и сертификаты

Все документы об окончании курсов собраны в одном месте в электронном формате — вы всегда можете посмотретьи скачать их в личном кабинете.

Остались вопросы?

Оставьте свои контактные данные — мы с вами свяжемся и все расскажем

Нажимая на кнопку «Отправить», я принимаю условия Политики конфиденциальности, и даю согласие на обработку персональных данных

WhatsApp
Telegram