linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Главы
  • How it worksскоро
  • Уроки
  • База знаний
  • Собеседование
Lessons

$ ls /lessons-postgres

Уроки.
45 штук. По одному к каждой главе.

Открываешь урок - в браузере поднимается контейнер с PostgreSQL, появляется терминал psql. Набираешь запросы по шагам, после каждого нажимаешь «проверить» - и видишь, прошёл шаг или нет.

Sandbox отрезан от интернета. Сервер настоящий, база `lab` уже настроена, расширения для интроспекции включены. Ломаешь и чинишь свой кластер, не боясь задеть чужой.

Уроки по главам

Привязка к главам книги

Уроки дополняют главы из учебника. Открывай рядом с соответствующей главой, не отдельно. Порядок рекомендованный, но каждый урок самодостаточен.

  1. гл. 02Составь карту процессов работающего сервера~20 мин · 4 шагов
  2. гл. 03Пройди иерархию: кластер, базы, схемы~20 мин · 5 шагов
  3. гл. 04Найди файл таблицы и понаблюдай форки~22 мин · 6 шагов
  4. гл. 05Вскрой страницу heap инструментом pageinspect~22 мин · 5 шагов
  5. гл. 06Декодируй заголовок строки и цепочку версий~22 мин · 5 шагов
  6. гл. 07Измерь, как порядок колонок меняет размер строки~20 мин · 4 шагов
  7. гл. 08Найди, где живёт большой текст~22 мин · 4 шагов
  8. гл. 09Увидь многоверсионность на двух сессиях~22 мин · 4 шагов
  9. гл. 10Заморозь снимок на Repeatable Read~22 мин · 5 шагов
  10. гл. 11Воспроизведи аномалии и поймай ошибку сериализации~25 мин · 5 шагов
  11. гл. 12Поймай SELECT, который пишет~20 мин · 4 шагов
  12. гл. 13Поймай HOT-обновление и поиграй с fillfactor~22 мин · 5 шагов
  13. гл. 14Заставь долгую транзакцию держать мусор всей базы~25 мин · 6 шагов
  14. гл. 14Прочитай отчёт VACUUM VERBOSE построчно~20 мин · 4 шагов
  15. гл. 15Состарь таблицу и продвинь relfrozenxid заморозкой~22 мин · 5 шагов
  16. гл. 16Посмотри глазами autovacuum: пороги и раздувание~24 мин · 6 шагов
  17. гл. 17Загляни в буферный кеш и поймай попадания~22 мин · 5 шагов
  18. гл. 18Понаблюдай за WAL и поймай всплеск FPI после CHECKPOINT~22 мин · 4 шагов
  19. гл. 19Найди redo point и посмотри, что проиграло бы восстановление~24 мин · 5 шагов
  20. гл. 20Разбери журнал по записям через pg_walinspect~22 мин · 5 шагов
  21. гл. 21Поймай каскад блокировок от idle-in-transaction~25 мин · 5 шагов
  22. гл. 22Воспроизведи и прочитай взаимоблокировку~22 мин · 5 шагов
  23. гл. 23Прочитай wait events и предикатные блокировки~22 мин · 5 шагов
  24. гл. 24Проследи запрос по стадиям и раскрой представление~20 мин · 4 шагов
  25. гл. 25Воспроизведи стоимость Seq Scan вручную~22 мин · 4 шагов
  26. гл. 26Предскажи селективность и почини корреляцию~24 мин · 4 шагов
  27. гл. 27Проведи запрос от Seq Scan до Index-Only Scan~25 мин · 5 шагов
  28. гл. 28Получи hash, merge и nested loop на одном JOIN~24 мин · 5 шагов
  29. гл. 29Понаблюдай порядок соединений и кеш плана~22 мин · 4 шагов
  30. гл. 30Расследуй плохой запрос и почини до Index Scan~24 мин · 4 шагов
  31. гл. 31Найди нужный метод доступа через каталог~22 мин · 4 шагов
  32. гл. 32Спустись по B-дереву через pageinspect~24 мин · 4 шагов
  33. гл. 33Сравни hash и B-tree на равенстве~20 мин · 4 шагов
  34. гл. 34Запрети пересечения через GiST exclusion constraint~22 мин · 4 шагов
  35. гл. 35btree проваливается на LIKE, GIN спасает полнотекст~22 мин · 4 шагов
  36. гл. 36BRIN на временно́м ряде против B-tree~22 мин · 4 шагов
  37. гл. 37Составной индекс против Seq Scan плюс Sort~24 мин · 5 шагов
  38. гл. 38Запусти физический standby и измерь, как он догоняет primary~22 мин · 7 шагов
  39. гл. 39Подними логическую подписку и проведи строку от источника к приёмнику~22 мин · 8 шагов
  40. гл. 40Найди медленный SQL через pg_stat_statements~22 мин · 4 шагов
  41. гл. 41work_mem и проливы сортировки на диск~20 мин · 4 шагов
  42. гл. 42Архив WAL и привязка момента к сегменту~20 мин · 4 шагов
  43. гл. 43Ловушки SQL: воспроизведи и перепиши~22 мин · 6 шагов
  44. гл. 44search_path и SECURITY DEFINER: воспроизведи подмену~20 мин · 3 шагов
  45. гл. 45Капстоун: расследование деградации прода~35 мин · 6 шагов

$ сначала пройди главу, потом запускай урок - они задумывались как пара.

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки