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скоро
  • Уроки
  • База знаний
  • Собеседование
home/postgres/lessons/pg-lab-02-1-process-map

lesson ── postgres-labs ── ~20 мин ── 4 шагов

Составь карту процессов работающего сервера

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

▶ интерактивный sandbox

Поднимется контейнер postgreslab/postgres-base с PostgreSQL 17 и psql. В браузере откроется терминал, база lab уже настроена. Каждый шаг проверяется автоматически. Сеть air-gapped, наружу контейнер не ходит.

запустить sandbox →

stack ── PostgreSQL 17 · psql · 1 GB RAM · air-gapped · самоуничтожается через 45 мин простоя

Шаги

  1. 01

    Проверь соединение

    Контейнер с PostgreSQL поднят, psql уже настроен на базу lab. Убедись, что соединение живо.

    sql
    SELECT 1;

    ✓ Соединение есть - можно смотреть процессы.

  2. 02

    Перечисли процессы сервера

    Каждый процесс сервера виден в pg_stat_activity, а колонка backend_type говорит, что это за процесс.

    sql
    SELECT pid, backend_type FROM pg_stat_activity ORDER BY backend_type;

    Найди свой client backend - это твоё соединение. Остальные строки - фоновые процессы.

    подсказка

    Своё соединение точно опознаётся по pid = pg_backend_pid().

    ✓ Своё соединение найдено - оно client backend.

  3. 03

    Сосчитай фоновый костяк

    Предскажи, сколько фоновых процессов увидишь, и проверь. Костяк - checkpointer, background writer, walwriter, autovacuum launcher.

    sql
    SELECT count(*) FROM pg_stat_activity
    WHERE backend_type IN ('checkpointer','background writer','walwriter','autovacuum launcher');
    подсказка

    Каждый из четырёх процессов соответствует механизму: журналу, кешу, очистке.

    ✓ Все четыре фоновых процесса костяка на месте.

  4. 04

    Посмотри общий буферный кеш

    Разделяемую память, которую видят все эти процессы, задаёт shared_buffers. Предскажи её размер, потом проверь.

    sql
    SHOW shared_buffers;

    ✓ 128MB общего кеша - его видит каждый процесс сервера.

Что ты узнал

Сервер PostgreSQL - это postmaster, твой client backend и фоновый костяк: checkpointer, background writer, walwriter, autovacuum launcher. Все они видны из pg_stat_activity и делят разделяемую память.

команды

  • SELECT pid, backend_type FROM pg_stat_activity;перечислить процессы сервера
  • SELECT pg_backend_pid();pid своего соединения
  • SHOW shared_buffers;размер общего буферного кеша

концепции

  • · client backend - процесс твоего соединения, живёт пока оно открыто
  • · фоновый костяк - checkpointer, background writer, walwriter, autovacuum launcher
  • · разделяемая память (shared_buffers) видна всем процессам сервера

следующая →

Пройди иерархию: кластер, базы, схемы

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